# Desktop Anwedung ( Java 6 )  auf android zu greifen.



## steagga (4. Apr 2012)

Die überschrift ist eigetnlich eindeutig. 
Nun ist die Frage wie wird die ansteuerung aufs android realisiert? Sind da Sockets welche man einfach ansprechen kann, oder wie geht das von statten ? 


Für jeglichen Beispiel Code und Links währe ich dankbar !


----------



## Marcinek (4. Apr 2012)

Von hause aus hast du nur die debugg schnittstelle, ansonsten musst du dir eine App bauen, die deine Anfragen entsprechend ausweret.


----------



## homer65 (4. Apr 2012)

Habe den umgekehrten Weg schon mal realisiert. 
Also von Android auf eine Webseite in JSON Format zugegriffen.
Wenn ich mich recht erinnere war die zentrale Klasse die URLConnection.
Android kann halt TCP/IP.
Worum geht es denn genau? Kannst du etwas mehr zum Sinn und Zweck erzählen?


----------



## schlingel (4. Apr 2012)

Bau dir einen Service. Wenn die App ein Server sein soll, bau halt dort den TCP/JSON/RMI was auch immer Server ein. Wenn die Desktop-App der Server sein soll umgekehrt.

Es gab hier schon ein paar mal die Frage wie man über USB auf's Gerät zugreifen kann und das geht nur sehr umständlich. Also mit Netzwerkkommunikation bist du schon gut unterwegs.


----------



## steagga (4. Apr 2012)

homer65 hat gesagt.:


> Worum geht es denn genau? Kannst du etwas mehr zum Sinn und Zweck erzählen?



Da ich urlaub habe , dachte ich mir, mal eine Applikation zu bauen, welche ein Android gerät anspricht und dann z.B. sms per computer -> android  versenden kann. 

Das war so mein Gedanke.  

Hab ich es nun richtig verstanden, dass ich das Gerät per HttpUrlConnection ansprechen kann? 
Wenn dem so ist, danach kann ich mir dann ein Service bauen welcher einfach das SDK nutzt und auf die Funktionen zugreift ? 

Verlaufen solche dinge wie z.B. das Sms senden, in einer sandbox ?


----------



## homer65 (4. Apr 2012)

Wie gesagt, ich habe nur den umgekehrten Weg genommen. Also Android greift auf Webserver zu.
Im Fall PC greift per TCP/IP auf Android zu fängt es schon mit der Frage an: Welche IP hatt Android denn nun?
Grundsätzlich soll es aber möglich sein. Ein interessantes Projekt dazu wäre:
i-jetty - I-Jetty: webserver for the android mobile platform - Google Project Hosting
Vielleicht hilft dir das. 
Zum Weg PC greift auf Android zu kann ich nur theoretisieren. Hab ich selber noch nicht gemacht.


----------



## schlingel (4. Apr 2012)

Sandbox ist nicht. Wenn deine App die Berechtigung vom User bekommt (wird beim Installieren vergeben) SMS zu verschicken dann darf sie das wann sie will und so oft sie will.

Das ist dann auch gefährlich wenn deine App einen Netzwerkservice anbietet auf den prinzipiell jeder zugreifen kann um Nachrichten zu schicken. Also wie oben beschrieben wäre es gescheiter, dass sich das Smartphone zu einem Server verbindet und dann so eine Duplex-Verbindung hergestellt wird um SMS über den PC zu versenden.

Du müsstest außerdem deiner App einen Service verpassen damit sie auch weiterläuft wenn die Activity in den Hintergrund gestellt wird.

Auf's Netzwerk kannst du mit den URLConnection-Klassen aus java.net zugreifen und mit Klassen aus den Apache Commons die im System dabei sind. Du kannst allerdings auch andere Apache-Commons Klassen (weil du eine spezielle Version brauchst) hinzufügen wenn du sie mit jarjar in ein anderes package schiebst.


----------

