T
toomuchcoffeeman
Ambitioniertes Mitglied
- 15
Hallo zusammen,
ich habe mich an meine erste App gewagt und nun tauchen etliche Fragen auf. Bevor ich weiter mache, würde ich gerne einige grundsätzliche Fragen klären, bevor ich mir einen Fehler einbaue. Bzw. möchte ich den Kram so gut wie möglich verstanden und implementiert haben, bevor ich die Kernfunktionen der App implementiere.
Generell gilt: Ich brauche keinen vorgekauten Code. Hinweise und Links zu KnowledgeBases oder so was sind mit wichtiger, damit ich auch verstehe, was ich da mache. Also ein Tritt in die "richtige" Richtung.
---
Aktuell steht lediglich der User-Login. Hierfür kommuniziert Android mit mehreren PHP-Dateien im JSON-Format. Der HTTPRequest wird in der jeweiligen Activity (Login, Register, Logout, Reset Password) in einem AsyncTask bearbeitet.
1. Momentan sind die URLs zu den PHP-Scripten hartkodiert. Sie lassen sich also wohl einigermaßen simpel auslesen. Zum Beispiel kann man ja dann sehen, dass das login-Script unter www.meineurl.de/login.php liegt. Gibt es eine andere Möglichkeit die URLs besser zu verbergen? Oder zumindest den Zugriff darauf zu erschweren, wenn man den Link kennt?
Oder mache ich mir da unnötig Sorgen?
2. Der HttpRequest an die URLs findet wie gesagt in einem AsyncTask statt. Dies habe ich aus diversen Foren und online-Quellen "abgekupfert". Nun bin ich aber auch über die Info gestolpert, dass ein AsyncTask abgebrochen wird, wenn sich zum Beispiel die Displayorientierung ändert. Sprich, der Response geht verloren. Stimmt das? Und falls ja, wie kann ich das umgehen? Best practices?
3. Ich finde nur sehr wenige brauchbare Informationen zu RESTful WebServices. Und auch in den Büchern, die mir zur Verfügung stehen, steht das Architekturmuster immer nur grob erklärt. Daher habe ich noch Verständnisschwierigkeiten, was die Umsetzung angeht.
Angenommen ich habe eine Datenbank mit Artikeln. Sagen wir die Basisadresse zu dem Script, dass die Anfrage behandeln soll ist www.meineurl.de/artikel. Dies wäre dann wohl ein Script, dass mir eine Liste aller Artikel liefert. So weit so gut.
Nun lese ich ständig, dass wenn ich beispielsweise den Artikel mit der id 3 ansehen will, der Aufruf über die URL www.meineurl.de/artikel/3 erfolgen könnte/sollte/müsste ... In Android kann ich die Id sicherlich mit abfragen und dann eine URL daraus erstellen. Aber macht das überhaupt Sinn? Müsste ich dann serverseitig auf die URL reagieren und dort die Artikelnummer extrahieren? Ihr seht: Da steh ich wie Ox vorm Berg. Wie liesse sich so etwas mit PHP umsetzen?
4. Designfrage: Eine der Kernfunktionen der App wird es sein, eine Datenbank mit Artikeln und zugehörigen Fotos durchsuchen zu können (online). Nun möchte ich dem User aber auch anbieten, die Daten auf Wunsch offline - also auf dem mobilen Gerät - verfügbar zu haben. Mein erster Ansatz wäre es, die Daten in einer SQLite-Datenbank abzulegen. Ist das eine "übliche" Lösung? Wie würdet Ihr das machen? Und: Soll ich die Artikel nur herunterladen und speichern, oder soll ich mir zu Synchronisationszwecken auch merken, welche Artikel der User herunter geladen hat?
---
Ich freue mich wirklich sehr über jede Hilfestellung und Anteilnahme an der Diskussion.
Beste Grüße,
Thomas
ich habe mich an meine erste App gewagt und nun tauchen etliche Fragen auf. Bevor ich weiter mache, würde ich gerne einige grundsätzliche Fragen klären, bevor ich mir einen Fehler einbaue. Bzw. möchte ich den Kram so gut wie möglich verstanden und implementiert haben, bevor ich die Kernfunktionen der App implementiere.
Generell gilt: Ich brauche keinen vorgekauten Code. Hinweise und Links zu KnowledgeBases oder so was sind mit wichtiger, damit ich auch verstehe, was ich da mache. Also ein Tritt in die "richtige" Richtung.
---
Aktuell steht lediglich der User-Login. Hierfür kommuniziert Android mit mehreren PHP-Dateien im JSON-Format. Der HTTPRequest wird in der jeweiligen Activity (Login, Register, Logout, Reset Password) in einem AsyncTask bearbeitet.
1. Momentan sind die URLs zu den PHP-Scripten hartkodiert. Sie lassen sich also wohl einigermaßen simpel auslesen. Zum Beispiel kann man ja dann sehen, dass das login-Script unter www.meineurl.de/login.php liegt. Gibt es eine andere Möglichkeit die URLs besser zu verbergen? Oder zumindest den Zugriff darauf zu erschweren, wenn man den Link kennt?
Oder mache ich mir da unnötig Sorgen?
2. Der HttpRequest an die URLs findet wie gesagt in einem AsyncTask statt. Dies habe ich aus diversen Foren und online-Quellen "abgekupfert". Nun bin ich aber auch über die Info gestolpert, dass ein AsyncTask abgebrochen wird, wenn sich zum Beispiel die Displayorientierung ändert. Sprich, der Response geht verloren. Stimmt das? Und falls ja, wie kann ich das umgehen? Best practices?
3. Ich finde nur sehr wenige brauchbare Informationen zu RESTful WebServices. Und auch in den Büchern, die mir zur Verfügung stehen, steht das Architekturmuster immer nur grob erklärt. Daher habe ich noch Verständnisschwierigkeiten, was die Umsetzung angeht.
Angenommen ich habe eine Datenbank mit Artikeln. Sagen wir die Basisadresse zu dem Script, dass die Anfrage behandeln soll ist www.meineurl.de/artikel. Dies wäre dann wohl ein Script, dass mir eine Liste aller Artikel liefert. So weit so gut.
Nun lese ich ständig, dass wenn ich beispielsweise den Artikel mit der id 3 ansehen will, der Aufruf über die URL www.meineurl.de/artikel/3 erfolgen könnte/sollte/müsste ... In Android kann ich die Id sicherlich mit abfragen und dann eine URL daraus erstellen. Aber macht das überhaupt Sinn? Müsste ich dann serverseitig auf die URL reagieren und dort die Artikelnummer extrahieren? Ihr seht: Da steh ich wie Ox vorm Berg. Wie liesse sich so etwas mit PHP umsetzen?
4. Designfrage: Eine der Kernfunktionen der App wird es sein, eine Datenbank mit Artikeln und zugehörigen Fotos durchsuchen zu können (online). Nun möchte ich dem User aber auch anbieten, die Daten auf Wunsch offline - also auf dem mobilen Gerät - verfügbar zu haben. Mein erster Ansatz wäre es, die Daten in einer SQLite-Datenbank abzulegen. Ist das eine "übliche" Lösung? Wie würdet Ihr das machen? Und: Soll ich die Artikel nur herunterladen und speichern, oder soll ich mir zu Synchronisationszwecken auch merken, welche Artikel der User herunter geladen hat?
---
Ich freue mich wirklich sehr über jede Hilfestellung und Anteilnahme an der Diskussion.
Beste Grüße,
Thomas