![]() |
Datenbanken unter Android mit verschiedenen Apps
Hallo,
nach etlichen Android-Updates habe ich plötzlich ein Problem: Es gibt 2 Apps auf dem Handy, die jeweils eine Datenbank besitzen. Diese Datenbanken liegen im internen Speicher, unter öffentliche Dokumente/App_A/Database und öffentliche Dokumente/App_B/Database. App_A konnte bisher problemlos auf die Datenbank von App_B zugreifen, das führt aber aktuell zu Laufzeitfehlern "unable to open database file" Ich habe keine Ahnung wie ich das beheben könnte, Betriebssystem ist Android 12 Danke für Tipps Ciao Stefan Nachtrag: Nach Deinstallation und Neuinstallation von App_A kann diese auch nicht mehr auf ihre eigene Datenbank zugreifen! Verdammter Mist, wer kann helfen? |
AW: Datenbanken unter Android mit verschiedenen Apps
Die Files (auch von DBs wiw Sqlite) sollten eigentlich in einer Sandbox bei der eigenen App liegen.
Einfach von "draußen" drauf zugreifen ist schwierig, inkompatibel und wird wohl immer weiter zurückgeschraubt als jetzt schon. Das in "common folder" zu legen von wo aus mehrere drauf zugreifen können ist fast nicht mehr möglich. Ich denke mal es wäre der richtige Weg dafür wenn man sowas wie seinen eigenen "DB-Server" als Service verpackt, welchen dann verschiedene Apps parallel nutzen könnten. Soweit ich weiss kann ein Service mit mehreren Apps verbunden werden, aber 100% sicher ob und wie das sauber ohne Probleme läuft bin ich auch nicht. Ansonsten ist es wohl am einfachsten und saubersten einen externen REST-Server als DB zu nutzen, das sollte eigentlich immer gehen. Für den rein lokalen Zugriff könnte das eine lokale Sqlite DB sein, die mit dme rEST-Server synchronisiert wird. |
AW: Datenbanken unter Android mit verschiedenen Apps
Danke erst mal für die Antwort...
Die App wird bei Handwerksbetrieben eingesetzt, da kann ein APK installiert werden, mehr kann und möchte ich daher den Anwendern an Installation nicht zumuten... Eine andere Idee hätte ich da aber noch: Kann man von App_A einen Intent an App_B senden, welcher diese App öffnet? Dort könnte der Anwender dann z.B. eine Adresse auswählen, welche dann als Intent wieder an App_A zurückgesendet wird? Oder wie meinst Du die Lösung mit einem Service? Ciao Stefan |
AW: Datenbanken unter Android mit verschiedenen Apps
Zitat:
![]() Die APK sieplt eigentlich keine Rolle, ob über PlayStore oder anderswo her, aber der Zugriff auf Speicher der nicht zu deiner App gehört wird immer mehr eingeschränkt. Deshalb der Ausweg über einen externen REST-Server, dann liegen die Daten eben nicht mehr lokal wo Android Dich ständig bevormundet und Du hast den vollen Zugriff darauf. Braucht aber halt einen Server. Gerade bei professioneller Software macht das Auslagern auf Server doch sehr viel Sinn. Z.B. App ist kostenlos, der Kunde muss sich aber auf deinem Server registrieren mit einer Subscription. Nur so als Gedanke. |
AW: Datenbanken unter Android mit verschiedenen Apps
Ein Service unter Android kann ohne Gui laufen, vergleichbar mit Windows. Der Service würde die DB Anfragen bedienen, ggF. auch für mehrere Apps.
Ein externer Server wäre naheliegend, Ausschlussgründe wären nur erhöhter Aufwand eben für den Serverbetrieb und Monitoring und Absicherung. Außerdem benötigt der natürlich eine Internetverbindung (WLAN oder SIM), das ist vielleicht gerade in Handwerkssituationen nicht immer gegeben, Funkloch oder Heizungskeller halt. Ein gut betriebener externer Server würde dann dem Nutzer den Mehrwert bringen, dass er auch Handy /Datenverlust abfängt, das schnelle Teilen von Daten erlaubt usw. Außerdem muss der Service natürlich extra installiert werden, das kann aber denke ich im Rahmen der Installation der eigentlichen App erfolgen. P.S.: Vielleicht hilft auch ein ContentProvider ![]() |
AW: Datenbanken unter Android mit verschiedenen Apps
@Jobo: Genau so.
Zitat:
Es gibt da auch irgendwo in den D11 Demos ein komplettes Demo zu LocalSQL, ich finde es nur gerade nicht. ![]() ![]() Allerdings muss man sich dann um die Replikation lokal und remote DB kümmern, aber das ist machbar. Es gibt natürlich auch "fertige" Lösungen wie TMS Aurelius für Server und Client, dann muss man sich aber damit an TMS binden. |
AW: Datenbanken unter Android mit verschiedenen Apps
Man kann auch Intents Programmieren und damit andere Anwendungen aufrufen bzw. in denen was Aufrufen.
Es gab zumindest mal (vermutlich immer noch vorhanden) ein Beispiel zur Nutzung udn Erstellung von Intents. Schau' mal in den Beispielen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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