AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

SQLite iOS <> SQLite Android!

Ein Thema von Mavarik · begonnen am 6. Dez 2013 · letzter Beitrag vom 3. Feb 2015
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: SQLite iOS <> SQLite Android!

  Alt 7. Dez 2013, 19:36
Ihr seit so witzig...
Nee, vielleicht nur ein wenig angenervt.
Delphi-Quellcode:
If Mavarik.Will(DampfAblassen) Then
  Mavarik.SollPostenIn(Klatsch AND Tratsch)
Else If Mavarik.Hat(BeispielCode) or Mavarik.Hat(EinfachMehrInfos) Then
  Mavarik.SollPosten(WoAuchImmer)
Else Mavarik.SollteEs(Machen.WieNuhrEmpfiehlt);
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: SQLite iOS <> SQLite Android!

  Alt 7. Dez 2013, 19:41
@Frank:
Du schreibst, dass Du Unterschiede in der Syntax vermutest. Ich interpretiere dies als "Unterschiede in der SQL-Syntax". Das würde mich sehr überraschen, aber vielleicht kannst Du hier näher darauf eingehen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: SQLite iOS <> SQLite Android!

  Alt 8. Dez 2013, 10:33
@Frank:
Du schreibst, dass Du Unterschiede in der Syntax vermutest. Ich interpretiere dies als "Unterschiede in der SQL-Syntax". Das würde mich sehr überraschen, aber vielleicht kannst Du hier näher darauf eingehen.
Würde ich gerne machen, wenn ich richtig Debuggen könnte. Zum einen haben ich auf iOS Seite dieses Problem zum anderen dauert ein Try-Debug auf Android Seite jeweils mehr als 12 Min. (Compile, Link, Deploy dann per TCP/IP die Daten rüber ziehen und diese in die Datenbank einfügen). Selbst wenn ich das auf die minimalen Datenbanken beschränke nochmal 5 Min. weil mein Nexus 10 im Debug Modus noch langsamer ist.
Wenn ich dann das glück habe, dass der Debugger mal den Haltepunkt nicht ignoriert und der Stepper auch das macht was er soll (klapp auch nicht immer) lande ich irgendwo im System (genau Stelle) hab ich noch nicht und bekomme die Meldung. Tabelle nicht gefunden.

Folgendes hab ich getestet.
- Memo1 SavetoFile Memo2 LoadfromFile (Funktioniert! Ich habe also schreib lese rechte auf das Verzeichniss)
- Andere Pfade (TPath.GetDocumentsPath & GetHomePath + PathDelim + 'Documents' + PathDelim; (ggf. Dir erzeugt und getestet ob Dir da!)
- Ich habe(vermutet) es könnte auch an meiner TableExist Routine liegen.

Delphi-Quellcode:
  SQ.SQL.Text := 'SELECT CASE WHEN tbl_name = "'+FTableName+'" THEN 1 ELSE 0 END FROM sqlite_master WHERE tbl_name = "'+FTableName+'" AND type = "table";';
  SQ.Active := true;
  Result := boolean(SQ.Fields[0].AsString = '1');
- Vielleicht reagiert Android anders wenn eine Tabelle noch offen ist oder die Connection geshared wird.
- Oder die Freigabe (ARC)?!?! Keinen Plan.

Mehr konnte ich noch nicht testen da ich eine DeadLine bis gestern 20:00 Uhr für die Genehmigung der Software hatte. Daher musste ich mich dann auf die letzten Kleinigkeiten unter iOS kümmern.

Aber ich werde mal ne keine Test-App mit kleineren Testdaten machen um das Problem einzukreisen, da scheinbar keiner außer mir diese Problem hat.

Grüsse Mavarik
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: SQLite iOS <> SQLite Android!

  Alt 8. Dez 2013, 10:45
Zur Geschwindigkeit unter Android und XE5, das läuft nicht schlecht ich habe heute morgen wiedermal an einer schönen App gearbeitet und gefühlte 100 mal gestartet direkt auf dem Gerät. Das dauert keine 15 sec bis die App läuft.

Ich arbeite aber NICHT im Debugmodus, sondern fast immer mit Release UND Anwendungs-Store mit Zertifikatzuweisung.

Infos gebe ich entweder in Listboxen aus oder in Logdateien aus, auf die kann man unter Android direkt zugreifen.
Angehängte Grafiken
Dateityp: png appconfig.png (8,4 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: SQLite iOS <> SQLite Android!

  Alt 8. Dez 2013, 12:07
Noch mal eine Idee zu deinem Geschwindigkeitsproblem: starte mal nicht direkt die app aufs Gerät, sondern erzeuge diese einfach nur, dann findest Du die apk unter project/android/release(oder debug)/projekt/bin/

Geht das schneller ? Die apk kannste dann manuell aufs Gerät schieben und installieren. Vielleicht kommst du beim manuellen Ablauf so eine Idee wo es hängt.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: SQLite iOS <> SQLite Android!

  Alt 8. Dez 2013, 13:09
Noch mal eine Idee zu deinem Geschwindigkeitsproblem: starte mal nicht direkt die app aufs Gerät, sondern erzeuge diese einfach nur, dann findest Du die apk unter project/android/release(oder debug)/projekt/bin/

Geht das schneller ? Die apk kannste dann manuell aufs Gerät schieben und installieren. Vielleicht kommst du beim manuellen Ablauf so eine Idee wo es hängt.
Kann ich testen.... (Anderer Thread)
Hab 6MB SQLite Datenbank für eine nackte Installation.
Die "fehlende" Geschwindigkeit zeigt sich schon beim Scrollen von eine ListBox mit 10 Einträgen á 3 Images 8 Label. Hatte ich ME, DM, DW schon am Stammtisch auf den letzten Delphi Tagen gezeigt. (Die wollten das auch nicht glauben)
ME: Warte auf Update 1.

Die Animation für das Umlegen eines Switches dauert 3 Sekunden.

Vielleicht muss ich mal ein Video davon machen...

Aber wie gesagt. Lieber hier posten.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: SQLite iOS <> SQLite Android!

  Alt 25. Dez 2013, 13:26
Also...

Wenn das hier auf Android funktionieren soll:

Dann sollte ja gemäß der Anleitung:
Delphi-Quellcode:
procedure TForm1.SQLConnectionSQLiteBeforeConnect(Sender: TObject);
begin
  {$IF DEFINED(iOS) or DEFINED(ANDROID)}
  ShoppingList.Params.Values['Database'] :=
      TPath.Combine(TPath.GetDocumentsPath, 'shoplist.s3db');
  {$ENDIF}
end;
der richtige Path sein.

Das mag funktionieren, wenn man die Datei da per deploy "rüberschiebt",
aber ein

Delphi-Quellcode:
procedure TForm40.SQLConnection1BeforeConnect(Sender: TObject);
begin
  SQLConnection.Params.Values['Database'] := TPath.Combine(TPath.GetDocumentsPath, 'TestBase.s3db');
  SQLConnection.Params.Values['ColumnMetadataSupported'] := 'False';
  SQLConnection.Params.Values['FailIfMissing'] := 'False';
end;
Sollte doch an dieser Stelle die Datenbank erzeuge. (So jedenfalls funktioniert es unter iOS)

Ich denke, dass die Systemtreiber für dieses Verzeichniss keine Create-Rechte habe, den nach einem Aufruf liegt da keine Datenbank.

Oder hat jemand eine bessere Idee?

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: SQLite iOS <> SQLite Android!

  Alt 8. Dez 2013, 10:10
Ihr seit so witzig...
Nee, vielleicht nur ein wenig angenervt.
Delphi-Quellcode:
If Mavarik.Will(DampfAblassen) Then
  Mavarik.SollPostenIn(Klatsch AND Tratsch)
Else If Mavarik.Hat(BeispielCode) or Mavarik.Hat(EinfachMehrInfos) Then
  Mavarik.SollPosten(WoAuchImmer)
Else Mavarik.SollteEs(Machen.WieNuhrEmpfiehlt);
Sonst geht's Dir aber gut, oder?

Ich denke doch, dass dies ein Forum ist um Erfahrungen auszutauschen, oder? Mir ist nicht bekannt, dass Daniel hier andere Richtlinien eingeführt hat.

Es geht mir darum während der Entwicklung von Apps, die auftretenden Probleme zu publizieren - in der Hoffnung - ,dass andere Entwickler von den Infos profitieren oder ggf. ne Lösung haben nach dem Motto : "Ja kenne ich, must Du xy machen"

Entschuldigung, dass ich Deinen scheinbar höheren Anspruch mit meinen Postings nicht genüge.

@Mavarik.Will(DampfAblassen) Natürlich nervt es, dass EMBT alle 2 Minuten irgendwo ein Blogpost, ein FB-Post oder ne eMail schickt wie toll XE5 ist und wie einfach es ist den gleichen Code auf alle Plattformen zu bringen ist. Meine App hat mehr IFDEF als früher wo ich noch den gleichen Sourcecode für unser DOS & Windows Programm hatte.

Fazit: Immer wenn etwas auf Android nicht läuft was auf iOS geht, gibt es einen neuen Thread. Und zwar dann, wenn das Problem aufgetreten ist um zu erfahren ob das andere schon kennen. Wenn ich mehr Info habe oder eine Lösung poste ich die ja auch.

Soviel dazu...
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz