Client/Server App soll Daten an Server senden

  • Antworten:7
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 37

06.12.2012 14:54:19 via Website

Hallo,

Ich versuche mich gerade ein wenig in die Kommunikation zwischen einem Android Handy/Tablet und einem Server im Internet, also das klasische Client Server. Die Verbindung soll über UMTS stattfinden.

Dazu habe ich eine einfache kleine App die aus 3 Buttons besteht. Wenn einer der Buttons gedrückt wird, soll eine Information (z.B. Ich bin Button 1) an einen Server im Internet übertragen werden. Die Information wird dann auf einer Webseite in einer Liste angezeigt. Das war's auch eigentlich schon. Es ist nur ein Übungsprojekt das ich stetig ausbauen möchte. So soll später eine Bestätigung vom Server an die App geschickt werden (Du hast Button 1 gedrückt).
Wie schon geschrieben ist es nur ein Übungsprojekt und ich möchte mich damit ins Thema einarbeiten. Auf der Suche nach Infos im Internet stoße ich immer wieder auf die JSon Library mit der, so wie ich das verstanden habe, die Art von Kommunikation möglich ist.
Gibt es irgendwo ein Tutorial zu JSon das ihr empfehlen könnt?

Welche Möglichkeiten gibt es noch die Client Server Verbindung aufzubauen?

Ich wäre euch für Tips, Links und Infos sehr dankbar.

Viele Grüße,
Sebastian
  • Forum-Beiträge: 37

06.12.2012 16:17:39 via Website

Hallo Stefan,

Danke für Deine Links. JSon scheint mir schon gut geeignet zu sein für mein Vorhaben. Ich verstehe es allerdings so das auf der Serverseite ein PHP Skript laufen muß, speziell für JSon. Verstehe ich das richtig oder könnte ich auch ein Java Skript einsetzen. Puhh je mehr ich drüber nachdenke desto mehr kommt es mir wie ein stochern im Nebel vor.

Könnte man auch die Android HTTP Library verwenden um Daten zum Server zu schicken?

Viele Grüße,
Sebastian
  • Forum-Beiträge: 12

06.12.2012 16:22:52 via Website

Hi,

ich mache das ganze mit eine REST-Schnittstelle.
Aktuell scheinst Du ja aber nicht wirklich was zu übertragen.
Eigentlich würde es also ausreichen wenn Du mit dem Button nur eine bestimmte URL aufrufst, z.b:
http: //example.com/button/press/1, oder http: //example.com/index.php?button=1&action=press irgendwie sowas.
diese URL könnte dann direkt auch das Ereignis lifern (Button1 gedrückt).

Also Hilfe würde ich Dir:
und
empfehlen.

schade kann noch keine Links erstellen, such mal auf androidhive. info, da gibts es super Anleitungen.

Achso, JSON ist nur eine Darstellungsart von Informationen.
  • Forum-Beiträge: 12

06.12.2012 16:28:40 via Website

ich bin mal so frei und beantworte die Frage direkt.

Du brauchst eine Serverseitigesprache die Deine Anfrage verarbeitet, z.B. php.
Javascript kann zwar auch Serverseitig ausgeführt werden, empfiehlt sich aber für Dein Vorhaben nicht.
Das PHP-Skript macht dann nichts anderes als Deine Anfragen, mit z.B. Daten als JSON, anzunehmen und zu verarbeiten.
Mit PHP kannst Du z.B. aus JSON direkt ein assoziatives Array machen mit dem Du gut weiterarbeiten kannst.

Hier eine gute Anleitung für HTTP-Request: http: / / www.androidhive.info/2011/10/android-making-http-requests/
(Achtung Leerzeichen)
  • Forum-Beiträge: 37

06.12.2012 16:54:42 via Website

Hallo Manuel,

Danke für Deine Antwort. Wenn JSon "nur" eine Darstellungsart von Daten ist würde ich es also gar nicht benötigen? Serverseitig könnte ich dann ja mit z.B. PHP die Daten "empfangen" und letztlich an ein eigenes Programm durchreichen welches die Daten dann wieder decodiert. Ich stelle mir das verfahren ähnlich vor wie z.B. bei Streams. Man speichert einfach byteweise hintereinander. Da man die Reihenfolge der gespeicherten Daten kennt ist es kein Problem sie entsprechend zu lesen und wieder "in Form" zu bringen. Ist es vieleicht sogar so das man bei JSon nicht nur die Daten sondern auch gleich die Struktur der Daten mit sendet so das das PHP Skrip auf der Serverseite zuerst die Struktur lädt und anschliessend die Daten die dann mit Hilfe der Struktur wieder geordnet werden können?
Ich phantasiere mal weiter ;-) Wenn das so wäre könnte man an ein Standart PHP Skript beliebige Datenpakete/Objekte senden da in jedem Datenobjekt auch eine Beschreibung der Datenstruktur enthalten ist?!

Der Vorteil von PHP wäre also das es mit PHP möglich ist die Daten direkt zu decodieren und darzustellen ohne Umweg über eine weitere Anwendung? Das ganze natürlich mit Hilfe von JSon und dem Übertragenden Objekt.

Welche Möglichkeit gäbe es denn noch Daten an einen Server zu senden. Sorry wenn ich das nochmal Frage aber ich meine wirklich die praktische Abfolge. Welche Klasse wird benötigt. Von Windows kenne ich noch die Winshoes, mit denen es recht einfach war eine Verbindung herzustellen.
  • Forum-Beiträge: 12

06.12.2012 17:11:29 via Website

Hi,

was meinst Du mit "darstellen" ?
Ich denke für den Anfang ist es am besten wenn Du dir das hier mal anschaust: zuellich.de/tutorials/kurzeinfuehrung-json
Dann solltest Du dir HTTP-Methoden anschauen, GET, POST, (PUT, DELETE) dazu empfehle ich Dir das "Advanced Rest Client" Plugin für Chrome.
Solltest Du deine Entwicklungsumgebung noch nicht für Serverseitigeprogrammierung vorbereitet haben, installier dir am besten XAMPP,
da hast Du einen Apache, mysql und php direkt einsatzfähig.
Wenn Du die Kommunikation zwischen dem Client (erstmal der einfache Webbrowser) und dem Server verstanden hast, dann wird der Einstieg das ganze selber mit Java zu machen sicherlich leichter.

MbG
  • Forum-Beiträge: 37

07.12.2012 03:28:02 via Website

Hallo Manuel,

ok Danke Dir, ich werd mich mal ein bischen einlesen, hab auch noch etwas in einem Buch dazu gefunden. Hoffe ich bekomm das doch noch irgendwie hin.

Viele Grüße,
Sebastian