Android binäre Daten zwischen Android und einem Java-Server

strade87

Mitglied
Hallo zusammen!
Während eines Projektes, welches ich gerade mit einem Kollegen erstelle ist uns schnell bewusst geworden, dass wir unser Konzept überdenken müssen. Es geht darum, sich über eine Android-App oder eine in Java geschriebene Desktopanwendung an einem Server anzumelden, welcher Anfragen und Antworten in Form von Strings, als auch Binärdaten verarbeitet. DIe Daten selbst stammen aus einer hinterlegten Datenbank (mom. noch Oracle, später vlt. MySQL...is eigentlich auch unwichtig^^)
Aufbau sieht also wie folgt aus:

Android-App/Desktop-App <---> Server <---> DB

Nun suche ich Möglichkeiten, wie ich mich am besten am Server authentifiziere (entsprechende Daten kann sich der Server aus der DB ziehen) und Anfragen/Antworten bearbeiten kann.
Es geht mir also rein um die Art und Weise der Übertragung der Daten.

Ich könnte das zum einen natürlich einfach über Sockets machen, interessiere mich aber auch für andere Lösungen. Habe hier viele Posts gefunden, in denen bspw. mal MINA, JSON, Beans usw. in den Raum geworfen wurde.

Vlt. könnt ihr mir aber einen Tipp geben, mit welcher Lösung ich meiner Problemstellung am besten beikomme und vlt. hättet ihr ja auch einen kurzen Erfahrungsbericht? 🙂

MfG
strade
 
Generell würden Sockets reichen. NIO pur programmieren ist ein wenig ekelhaft, geht aber auch. Normal lieber ein Framework darüber wie eben MINA oder NETTY (letzteres ist noch etwas angenehmer zu handhaben). Ob diese allerdings Android kompatibel sind musst du im schlimmsten Fall selber testen und eventuell ein wenig patchen.
 
Warum möchtest du die relationalen Daten denn binär übertragen?

Wir arbeiten mit JSON/RESTful Services und verwenden Facebook als Auth-Autorität. Mit dem erhaltenen Token werden die übertragenen Daten signiert damit die Authenzität gewährleistet ist. Wenn man das noch Sniffing-sicher machen möchte kann man auf HTTPS ausweichen.
 
Hi und danke für eure Antworten!
Ich speichere unter anderem auch Binärdaten ab, die ich später bidirektional senden möchte.
MINA und NETTY werd ich mir dann mal genauer anschauen! Falls jmd. noch weitere Tipps oder Anregungen hat..immer her damit 🙂
MfG
strade
 
Hier ist ein Projekt von mir, was die Datenkommunikation per Netty vereinfacht (https://github.com/Rhegium/Rhegium/tree/master/rhegium-networking)

Unter src/test/java hast du einige Beispiele wie die Daten zusammengestellt und Server bzw Client instanziert werden.
Selbst wenn du den Layer nicht nutzen möchtest, kannst du dir die Implementierung ansehen als Beispiel wie Netty eingesetzt werden kann (ansonsten natürlich die Doku von Netty 🙂)
 

Zurück
Oben