Android App Programmierung - Mit Java App programmieren: Wie kann ich einen Einsendungsmodus in meine App integrieren?

...komplette Frage anzeigen

4 Antworten

Du brauchst dafür KEINE E-Mail, SMS, FTP oder sonst irgendwas. Das einzige, was du benötigst, ist ein Server, auf dem eine Datenbank läuft. Ich kann dir für den Anfang MariaDB empfehlen.

Schau dir also ein Tutorial an, wie du dies auf dem Server einrichtest, und eines, wie du mit Java auf Datenbanken zugreifen musst.

Aber nicht vergessen: Alles mit Netzwerk in einen extra Thread! Also auch noch mal die Handler sich anschauen.

Das Prinzip wird in etwa folgendermaßen sein: Die Nachricht wird in die Datenbank eingetragen. Du benötigst wiederum ein Programm, z. B. ein kleines, in Java geschriebenes, welches die Daten wieder aus der Datenbank einliest und anzeigt.

Willst du die Nachrichten per Mail erhalten, könntest du auf dem Server auch einen Cron einrichten, der regelmäßig ein Script ausführt, welches auf neue Nachrichten prüft und diese an dich versendet.

Danke für die Antwort! Das klingt schonmal alles gut und nicht so kompliziert :) Ich werde mir das mal anschauen

0

Du könntest auch das Server Script in ein paar Zeilen PHP schreiben und auf eine SQL Datenbank zugreifen.

1

Ich würde dir ebenfalls empfehlen, den eigentlichen Datenbankzugriff in PHP zu realisieren. Dann übergibst du dem Script einfach mit der Methode POST alle relevanten Informationen. Dies hat den Vorteil, dass du die Daten überprüfen und so Spamming vermeiden kannst. Natürlich kannst du auch auf ein Servlet auf einem Tomcat-Server setzen. Wenn du dennoch den Zugriff direkt von der App aus planst, solltest du unbedingt einen extra DB-Nutzer dafür verwenden, welcher nur das Recht besitzt, den INSERT-Befehl auszuführen und sonst nichts Weiteres.

0

Theoretisch könntest Du versuchen z.B. ein google Forms Formular zu nutzen, das in einem webview in deiner App geladen wird. Somit müsstest Du Dich nicht selbst um einen Server und die Authentifizierung mit diesem kümmern. Von einem Zugriff per FTP mit fest einprogrammierten Passwort würde ich stark abraten. Alternativ könntest Du auch eine eigene kleine Webseite aufsetzen, an die Deine Daten des Formulars gesendet werden (z.B. per Post request). Diese kannst du dann (nach Bereinigung) in eine Datenbank speichern.

ok, danke für die Antwort. Klingt auch gut. Das schaue ich mir direkt mal an :)

Ich habe nämlich keine Lust eine eigene Website dafür erstellen zu müssen, das ist mir zu viel Aufwand

0

Du brauchst ja nicht wirklich eine Webseite im klassischen Sinne. Du musst nur irgendeine Schnittstelle zur Datenbank bereitstellen, da bietet sich ein PHP Script an.

0

Du kannst z. B. programmieren, dass der Benutzer eteas mit FTP (oder besser SFTP) an (D)eine Website schickt. Dazu musst Du aber in Deiner App den Namen der Website und das Passowort einprogrammieren, letzteres aber nur so, dass man es nicht lesen kann, wenn man die App hexadezimal untersucht.

ok, danke schonmal für die Antwort. Ich kenne mich jetzt nicht so mit Websiten und Servern aus. Muss ich, wenn ich das verwenden will, dann auch erst eine eigene Website erstellen? Und muss die Website öffentlich sein, oder wie funktioniert das?

0
@Programmierer07

Die Website muss natürlich existieren (evtl. hat ein Freund eine solche, vielleicht auch nur zum Testen, aber Websites sind heutzutage sehr billig).

Der (s)FTP-Zugriff muss vom Provider (z. B. 1&1) bereitgestellt und das Passwort für (s)FTP vorgegeben werden.

Websites sind im Normalfall immer öffentlich, evtl. ausser DarkWeb. Der Provider macht das, dass die Website von jedem erreicht werden kann. Die Sicherung erfolgt über den User (den der Provider einrichtet und Dir mitteilt) und das Passwort.

Wenn das System mit dem Schicken steht, kannst/musst Du die geschickten Informationen über (s)FTP abholen, manuell oder in eine App verpackt.

1
@Schmarotzer2014

ok, danke für die Erklärung. Ich glaube mir ist das aber was zu kompliziert und ich möchte auch keine eigene Website dafür erstellen. Ich versuche das anders zu lösen. Trotzdem danke

0

Schreib dir ne webapp zb mit php mit der du daten per post annimmst und in ne datenbank einträgst. Die clients mit der datenbank kommunizieren zu lassen halte ich für ne dumme idee sofern kunden die clientsoftware bekommen

Was möchtest Du wissen?