Bester & schnellster Weg Daten online zu speichern und auszulesen?

  • Antworten:4
ExKcir
  • Forum-Beiträge: 115

13.10.2012, 12:15:57 via Website

Hallo,
ich muss in meiner App sehr viele Daten online speichern und auslesen.
Da man (soweit ich weiß) nicht direkt Daten in einer MySql Datenbank speichern kann habe ich dies bis jetzt immer über ein einfaches php script gemacht.
Dieses Script bekommt pet GET Daten von meiner App und speichert diese in einer Datenbank.

Da meine aktuelle App aber eindeutig mehr Daten speichern und auslesen muss als meine bisherigen Apps bin ich mir nicht sicher ob das der beste Weg ist.
Mir stellt sich nämlich die Frage ob dieser Weg nicht auf dauer die App sehr verlangsamen würde.

Wisst ihr eine bessere Methode um Daten schnell online zu speichern und auszulesen, oder denkt ihr meine bisherige vorgehensweise ist schnell genug?


Desweiteren habe ich auch ein kleines Problem beim Auslesen(Betreffend meiner bisherigen Methode Daten online zu speichern):
Meine Apps mussten bis jetzt nie die Daten wieder auslesen und in Variablen speichern wie ich es jetzt bräuchte.
Wie mache ich dies den am besten?
Vielleicht die benötigten Daten von einem php Script ausgeben lassen und mir den Quelltext der Seite zu holen?
Wenn ja, auf welche Weise bekomme ich aus dem Quelltext nur die Informationen die ich brauche (es wird ja auch <html> & co mitgeliefert) und bringe die richtigen Informationen in die richtigen Variablen gespeichert? (Ich will z.B in meiner App Daten eines bestimmten Punktes in einem MapView auslesen von einer online datenbank (2 Werte für Kordinaten, 1 Wert für name, 1 Wert für beschreibung,etc) )

Antworten
Christian
  • Forum-Beiträge: 307

13.10.2012, 14:47:42 via Website

Hi ExKcir,

Da man (soweit ich weiß) nicht direkt Daten in einer MySql Datenbank speichern kann habe ich dies bis jetzt immer über ein einfaches php script gemacht.
Dieses Script bekommt pet GET Daten von meiner App und speichert diese in einer Datenbank.

Das hört sich doch schon ganz gut an. Ich würde vielleicht den Get-Request in einen Post-Request änderen. Bei Post werden die Daten nicht in der URL Kodiert übertragen sondern im Body mitgeschickt. Dadurch lassen sich mehr Zeichen übertragen, da eine URL auf eine bestimmte Zeichenlänge begrenzt ist. Und als Bonus ist diese Übertragung ein bisschen sicherer als der Get-Request.

Da meine aktuelle App aber eindeutig mehr Daten speichern und auslesen muss als meine bisherigen Apps bin ich mir nicht sicher ob das der beste Weg ist. Mir stellt sich nämlich die Frage ob dieser Weg nicht auf dauer die App sehr verlangsamen würde.

Gerade bei mobilen Geräten ist in der Regel nicht die Übertragungsart wie zum Beispiel das HTTP-Protokoll das Problem sondern eher die Verbindungsart also besteht eine WLAN oder UMTS Verbindung.

Von welcher Datenmenge sprechen wir hier? KB,MB, GB, TB?

Wie mache ich dies den am besten?
Am besten auch über ein PHP-Script. Du fragst per GET oder POST dein Script ab und als Antwort erhältst entweder eine XML- oder JSON-Datei mit deinen Daten.

Wenn ja, auf welche Weise bekomme ich aus dem Quelltext nur die Informationen die ich brauche (es wird ja auch <html> & co mitgeliefert) und bringe die richtigen Informationen in die richtigen Variablen gespeichert?

Solltest du diesen Weg gehen musst du die HTML Datei parsen. Ich würde dir aber zu XML oder JSON raten.

mfg Christian

Antworten
ExKcir
  • Forum-Beiträge: 115

13.10.2012, 16:09:37 via Website

Christian Hempe
Hi ExKcir,

Da man (soweit ich weiß) nicht direkt Daten in einer MySql Datenbank speichern kann habe ich dies bis jetzt immer über ein einfaches php script gemacht.
Dieses Script bekommt pet GET Daten von meiner App und speichert diese in einer Datenbank.

Das hört sich doch schon ganz gut an. Ich würde vielleicht den Get-Request in einen Post-Request änderen. Bei Post werden die Daten nicht in der URL Kodiert übertragen sondern im Body mitgeschickt. Dadurch lassen sich mehr Zeichen übertragen, da eine URL auf eine bestimmte Zeichenlänge begrenzt ist. Und als Bonus ist diese Übertragung ein bisschen sicherer als der Get-Request.

Da meine aktuelle App aber eindeutig mehr Daten speichern und auslesen muss als meine bisherigen Apps bin ich mir nicht sicher ob das der beste Weg ist. Mir stellt sich nämlich die Frage ob dieser Weg nicht auf dauer die App sehr verlangsamen würde.

Gerade bei mobilen Geräten ist in der Regel nicht die Übertragungsart wie zum Beispiel das HTTP-Protokoll das Problem sondern eher die Verbindungsart also besteht eine WLAN oder UMTS Verbindung.

Von welcher Datenmenge sprechen wir hier? KB,MB, GB, TB?

Wie mache ich dies den am besten?
Am besten auch über ein PHP-Script. Du fragst per GET oder POST dein Script ab und als Antwort erhältst entweder eine XML- oder JSON-Datei mit deinen Daten.

Wenn ja, auf welche Weise bekomme ich aus dem Quelltext nur die Informationen die ich brauche (es wird ja auch <html> & co mitgeliefert) und bringe die richtigen Informationen in die richtigen Variablen gespeichert?

Solltest du diesen Weg gehen musst du die HTML Datei parsen. Ich würde dir aber zu XML oder JSON raten.

mfg Christian
Leider kenne ich mich mit POST nicht so gut aus wie mit GET, die sicherheit währe kein problem da keinerlei persönliche oder geheime Daten übertragen werden, aber da sich mit POST mehr Zeichen übertragen lassen, ist das hier wohl wirklich sinnvoller...

Die Datengröße ist eigentlich auch nur im KB Bereich, aber es werden eigentlich sehr oft Daten gesendet und empfangen ( Es wird eine App die Google Maps als "Spielfeld" benutzt und es werden Kordinaten geladen und gespeichert (An den Kordinaten sind Dinge von Spielern plaziert))

Wenn ich XML oder JSON benutze habe ich dadurch irgendwelche Vorteil?(das ich es schneller, besser oder einfacher verarbeiten kann?)
Denn HTML kann ich eigentlich recht gut, mit XML habe ich (bis auf die Android Layouts) noch nicht gearbeitet und von JSON habe ich bis jetzt leider auch noch nichts gesehen.

Antworten
ExKcir
  • Forum-Beiträge: 115

14.10.2012, 12:05:00 via Website

Hallo,
ich habe jetzt das php script fertig und das Speichern funktioniert ohne Probleme.
Und das Script gibt auch alle Daten aus die ich brauche.

Aber ich habe immer noch dieses eine Problem:
Ich kann ja den Ausgegebenen text in einer Variable speichern (Also in der App).
Wenn ich das mache habe ich dann ne Variable mit z.B diesen Inhalt:
44 43 ExKcir 2
45 42 ExKcir 2

Auf welche Weise bzw. mit welchen Funktionen schaffe ich es jetzt am einfachsten das 44 in einer Variable gespeichert wird, 43 in einer eigenen gespeichert wird und immer so weiter bis zum letzten 2?

Antworten
Christian
  • Forum-Beiträge: 307

14.10.2012, 18:04:20 via Website

Hi ExKcir,

Auf welche Weise bzw. mit welchen Funktionen schaffe ich es jetzt am einfachsten das 44 in einer Variable gespeichert wird, 43 in einer eigenen gespeichert wird und immer so weiter bis zum letzten 2?

Es scheint so als wenn du mit den Grundlagen von Java Probleme hast.

Dieser Link: 4.5 Zerlegen von Zeichenketten sollte dich eigentlich weiterbringen falls nicht einfach wieder posten :)

mfg Christian

Antworten