Einfaches Client-Server Projekt (Android-App) (part2 – Der Client)

<– Zurück zum vorherigen Teil

Öffnet nun Eclipse EE.
(Beim ersten Start kommt ein Willkommens-Fenster, das ihr wegklicken könnt, wenn ihr auf „Workbench“ klickt)
Geht nun auf File–>New–>Other. Dort im Fenster wählt ihr im Ordner „Java“, „Java Project“ aus und klickt auf „Next“.
new_java_proj_ul
Im folgenden Fenster benennt ihr euer Projekt – hier „MyClient“ – und klickt auf „Next“.
new_java_proj2_ul
Hier wird es wieder komplexer. Ihr seht nun ein Fenster „Java Settings“ dessen Reiter „Libraries“ ihr anklickt. Hier kann man externe „Libraries“(Bibliotheken) hinzufügen, was wir später auch tun werden.
new_java_proj_add_ext_jar_ul
Diesen Schritt könnt ihr auch später nachholen und das Projekt hier erstmal mit Klick auch „Finish“ beenden.


Folgender Zwischenschritt ist notwendig, damit euer Client(der später auf den Android Smartphone laufen soll) auch die Klassen und Methoden des Apache TomCat Servers kennt, da der Client ja auch Daten an den Server sendet.
Die erwähnten Libraries müsst ihr in euer Projekt importieren. Dazu ladet ihr euch die folgenden Dateien(die ich für euch schon zusammengestellt habe) runter und entpackt diese in einen Ordner. –> Download
Diese Libraries könnt ihr auch auf der Apache Seite finden.

Da unser Client hier in der Eclipse EE Umgebung ein Android Smartphone simulieren soll, muss das Projekt „MyClient“ zusätzlich auch die Klassen und Methoden des Smartphones kennen. Diese sind im Android SDK zu finden und können hier frei heruntergeladen werden. Oder ihr nehmt einfach die Datei die ich euch zur verfügung stelle, weil ihr die sonst aus der Android SDK installation raussuchen müsst. –> Download


Ihr seht nun links euer Projekt in Eclipse EE. Klickt es an und drückt nun Alt+Enter. Oder Rechtsklickt es und öffnet die „Properties“ des Projekts.
Es taucht ein Fenster auf in dem ihr auf der linken Seite mehrere Kathegorien seht. Dort wählt ihr „Java Build Path“ aus und auf der rechten Seite wählt ihr nun den Reiter „Libraries“. Wie Ihr seht, die Ansicht kennt ihr schon.
Properties_ul
In diesem Fenster müsst ihr nun auf „Add External JARs…“ klicken.
Ganz wichtig ist hierbei, dass ihr zuerst die Dateien aus der „extLibs.rar“ entpackt und erst diese importiert. Danach klickt ihr nochmal auf „Add External JARs…“ und wählt die „android.jar“ aus.
Das muss aus diesem Grund gemacht werden, da die Libraries des Apache Clients und die der Android SDK gleiche oder ähnliche Klassen und Methoden haben. Der unterschied ist, dass die Klassen und Methoden für den Server-Zugriff der Android SDK irgendwann auf der Strecke geblieben sind und von den Entwicklern nicht weiter bearbeitet/verbessert wurden. Manche Klassen sind daher nur Basisklassen und können eigentlich nichts! Sind also nur Klassen-Stummel.
Die Klassen und Methoden von Apache sind aber durchaus in der Lage alle Funktionen zur Client-Server Kommunikation zu erfüllen.
Diese Reihenfolge einzuhalten, ist zumindest in Eclipse, zwingend notwendig, da sonst bei der Programmierung automatisch die Klassen der Android SDK genommen werden.

Nun erstellt ihr in eurem Projekt „MyClient“ eine Main Klasse indem ihr auf euer Projekt rechtsklickt und dann „New–>Class“ auswählt.
new_class_ul
Bei „Package“ müsst oder solltet ihr nichts eintragen. Es wird automatisch das default-Package gewählt. Der Klassenname ist euch überlassen. Ich habe das jetzt einfachheit halber „Main“ genannt. Zusätzlich solltet ihr noch einen Haken bei „public static void main(String[] args)“ setzen um die Main-Methode nicht später manuell einfügen zu müssen.


Ich werde hier eine ganz einfache Main-Klassen-Funktion programmieren, damit man das auch von Grund auf versteht.
Nur so zur Erinnerung: Euer Client und auch euer Server sind jetzt beide auf eurem Rechner. Das MyClient-Projekt greift also auf das MyServer-Projekt(welches später exportiert wird und auf dem TomCat-Server läuft) zu.
Es soll nun vom Client(später vom Smartphone) zum Server ein Name ein Nachname und eine ID geschickt werden. Also zwei Strings und ein Int-Wert.
Grundsätzlich gibt es zwei Arten(zumindest die ich kenne) diese Werte an den Server zu schicken.
1. Über den Servernamen selbst. D.h. man fügt die Strings und den Int-Wert einfach hinter den Pfad des Servers ein. Diese Methode werde ich hier gleich zeigen!
2. Über die Klasse HttpPost. Und zwar indem man dem HttpPost eine Entity mitgibt(man kann auch mehrere Entities mitgeben). Das sieht dann so aus: httppost.setEntity(entity);
Da kommen wir aber später zu. 

  


Soweit sogut… Das bringt uns jetzt aber nicht weiter, da wir erst den Server programmieren müssen. Der muss ja schließlich wissen was überhaupt geschickt wird und was er damit machen soll.

Das erfahrt ihr im nächsten Teil –>

Schreibe einen Kommentar