Datenaustausch mit Mobilgeräten
Man kann ja jetzt mit XE5 sehr schöne Datenbasierte Anwendungen für iOS und Android schreiben. Die Frage ist, wie kriege ich die Daten rein und raus ohne dass der Nutzer dafür einen erheblichen Mehraufwand betreiben muß?
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
Danke, werd ich mir mal ansehen. Obwohl ich dann wieder 200 Versionen mehr von der app verkaufen muß...
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
PS: TMS habe ich da, Dropbox oder GoogelDrive, das geht schon ganz gut. |
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
ich mach das per SOAP Webservice (primär um eine Datenbank abzufragen und was reinzuschreiben, also erstmal ohne Austausch von Dateien, das sollte aber auch gehen).
Der Kunde braucht dafür nur nen Webserver, geht auch mit Apache. Vorteil dabei ist, dass ein dahinterliegender Datenbankserver in dem dann alles abgelegt/abgefragt werden kann nicht nach aussen geöffnet werden muss da ja lediglich der auf dem Webserver laufende SOAP Webservice Zugriff braucht. In der App muss dann einmalig die IP des Webservers eingetragen werden das wars. |
AW: Datenaustausch mit Mobilgeräten
Es soll eben ohne jede Serverkonfiguration gehen. Ich denke ich werde den Vorschlag mit dem Cloud Pack mal aufgreifen.
|
AW: Datenaustausch mit Mobilgeräten
Dafür eignet sich hervorragend eine
WiFi-Festplatte mit App-Steuerung INTENSO MEMORY 2 MOVE, 500 GB Beschreibung: http://www.pollin.de/shop/downloads/D701801B.PDF |
AW: Datenaustausch mit Mobilgeräten
|
AW: Datenaustausch mit Mobilgeräten
Schönes Video. Hatte ich auch überlegt. Aber Du benötigst ja auch ein Serverprogramm. Das sollte nicht sein. Sonst darf ich das Ding für alle möglichen Platformen ebenfalls zur Verfügung stellen. Und wenn ich nicht im selben Netz bin geht das mit dem Broadcast nicht.
|
AW: Datenaustausch mit Mobilgeräten
Ich habe mir jetzt das CloudPack installiert. Leider erhalte ich beim Start folgende Meldung:
Zitat:
Gelöst, es fehlten 3 Indy-requires. Macht jetzt schon einen tollen Eindruck :( |
AW: Datenaustausch mit Mobilgeräten
Zitat:
Mavarik |
AW: Datenaustausch mit Mobilgeräten
Bei mir ist es was anderes. Ich will das jeder sich die App laden kann und sofort Daten erfassen und dann auf beliebigen Geräten importieren und weiterbearbeiten kann. Also mit dem Upload hab ich jetzt schon hingekriegt mit dem CloudPack. Die anderen sind aber entsetzliche Komponenten, die dpk muss man manuell nachbearbeiten und die meisten Demos stürzen alle beim Start ab.
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
Nee, oder? Mavarik |
AW: Datenaustausch mit Mobilgeräten
Ja, der macht im FormCreate so ein Xcopy Gedöns. Das schmiert bei mir immer ab. Und Beim Cloupdpack haben die Requires für die Indy's gefehlt und es ließ sich nicht laden. Und die dproj-Dateien der dpk sind Mist, Standard auf Debug gestellt und nicht das richtige Ausgabeverzeichnis. Und bei dem TableView läßt sich der BulbText nicht mit LB binden und, und, und.
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
Natürlich. Siehste, das mit dem Kopieren der Dateien habe ich vergessen. Ich verbringe ja inzwischen 25% meines Arbeitstages mit QCs.
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
Ein Datenaustausch besteht ja immer aus 2 Teilen: dem Datentransport und dem Datenformat.
Beim Datenformat würde ich XML oder JSON verwenden. Für sehr einfache Daten reicht auch CSV. Den Datentransport (kopie über Datenträger, EMail, TCP/IP, FTP, WebDAV,...) kannst du noch offen lassen weil alle Wege möglich sind und sich auch nicht gegenseitig ausschliesen. An deiner Stelle würde ich mit dem Datenformat beginnen und die Entscheidung für einen Datentransport auf später verschieben wenn du mehr Erfahrung in dem ganzen Thema gesammelt hast. |
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
AW: Datenaustausch mit Mobilgeräten
Warum nimmst Du nicht die iCloud ?
|
AW: Datenaustausch mit Mobilgeräten
Wie mache ich das konkret?
|
AW: Datenaustausch mit Mobilgeräten
So, ich habe nun herausgefunden wie das mit der iCloud geht. Basis ist dieser Beitrag von Daniel.
Abweichend von den push-Notifications muß die entitlements wie folgt aussehen, wobei die XXXXXXXXXX mit der Developer-Program-ID und das com.domain.appname durch den CFBundleIdentifier ersetzt werden müssen:
Code:
Die Cloud stellt sich dann als Verzeichnis dar, dessen Namen man so ermittelt:
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0"> <dict> <key>application-identifier</key> <string>XXXXXXXXXX.com.domain.appname</string> <key>com.apple.developer.ubiquity-container-identifiers</key> <array> <string>XXXXXXXXXX.com.domain.appname</string> </array> <key>get-task-allow</key> <true/> </dict> </plist>
Delphi-Quellcode:
Man kann Dateien in diesen Pfad einfach hineinkopieren:
function GetiCloudPath : string;
var nsFile: NSFileManager; URL: NSURL; begin nsFile := TNSFileManager.Wrap(TNSFileManager.OCClass.defaultManager); URL := nsFile.URLForUbiquityContainerIdentifier(nil); if (URL <> nil) then Result := UTF8ToString(URL.path.UTF8String) else Result := ''; end;
Delphi-Quellcode:
Der Beweis, dass es funktioniert, kann man auf dem Mac in den iCloud-Einstellungen erbringen. Wenn man dort auf "Verwalten" geht, wird eine so kopierte Datei angezeigt. Auch in den iOS-Einstellungen auf dem Gerät zeigt sich das unter "Speicher & Backup > Speicher verwalten". Dort wird der vergebene app-name (aus dem Bundle-Identifier) angezeigt und der belegte Speicherplatz.
procedure SaveToICloud(AFileName);
var ACloudPath : string; begin ACloudPath := GetiCloudPath; if ACloudPath <> '' then begin TFile.Copy(AFileName, IncludeTrailingPathDelimiter(ACloudPath)+ExtractFileName(AFileName)); end; end; Nachteil, der das (jedenfalls zum Datenaustausch) ziemlich unbrauchbar macht: Ohne Tricks kann man auf diese Dateien nicht zugreifen, da sie app-spezifisch verwaltet werden. Der Trick ist, eine app auf dem Mac zu starten, die iCloud-Zugriff hat. Dadurch wird ein Dienst gestartet, der den iCloud Ordner in der User-Library einbindet. Die Daten findet man dann unter
Code:
wobei wieder die gleichen Ersetzungen gemacht werden müssen wie bei den Entitlements.
~/Library/Mobile Documents/XXXXXXXXXX~com~domain~appname
Ziemlich unbrauchbar das Ganze, vor allem für Nicht-Programmierer und Mac-Nutzer. |
AW: Datenaustausch mit Mobilgeräten
Zitat:
Wie sieht es denn unter Windows aus? Die Fotos stehen ja in einem Windowsordner bereit. Wie ist das mit den "eigenen" Ordnern? Mavarik |
AW: Datenaustausch mit Mobilgeräten
Keine Ahnung, ich habe keine iCloud-Systemsteuerung. Das SkyDrive arbeitet genauso blöd. Aber da kann man wenigstens über ein Webinterface an alle Dateien ran.
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
http://msdn.microsoft.com/de-de/libr.../hh826521.aspx |
AW: Datenaustausch mit Mobilgeräten
Wenn ich aus einer app was in Skydrive schicke, zeigt sich das nicht auf meinen PC's die das selbe SkyDrive-Konto haben. Nur über das Webinterface. Egal ob ich die Public mach oder share. Damit ist die Bequemlichkeit dahin.
|
AW: Datenaustausch mit Mobilgeräten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz