Umfrage-App: Wie Daten senden?

  • Hi,



    ich möchte eine Android-App entwickeln, die Umfragen ermöglicht. Der User lädt sich die App aus dem Market herunter, füllt die Umfrage aus, klickt auf Senden und die Formulardaten (Checkboxes, Radiobuttons, TextViews etc.) werden irgendwie an mich übermittelt.



    An diesem Punkt hänge ich. Was bisher steht ist der Fragebogen als solcher, allerdings wahrscheinlich nicht besonders professionell programmiert. Ich bin Anfänger in Android, Java hingegen klappt von Uniwegen her ganz gut. Bezüglich Daten Senden und ähnliches habe ich allerdings keine Erfahrung.



    Die Frage ist, wie ich die Daten am Ende des Fragebogens (in der letztenActivity in der Hierarchie) am besten zu mir bekomme und wie das zu implementieren ist. Ich dachte an e-Mail, also dass das Programm mir eine Mail versendet, ähnlich wie bei JavaScript / HTML. Falls das das beste ist, wie ist das zu implementieren?



    Vielen Dank für jede erdenkliche Hilfe,


    Possmann

  • Also Email ist eventl nicht wirklich ratsam weil nicht jeder hat einen Email Client auf dem Androidgerät (nicht lachen, ist mir schon selber untergekommen)
    und obendrein als Klartextinfo oder XML ist ja auch nicht so schön.


    Da du eine Umfrage machst, soll die ja sicherlich hinterher auch ausgewertet werden. Das schreit also förmlich nach einer Datenbank.


    Ich würde die Daten also alle zusammensammeln und per HTTP Request an ein PHP Skript schicken, welches mir meine externe MySQL Datenbank befüllt. Damit hast du die Daten im Netz und kannst weiter damit arbeiten.



    HTTP Request (POST / GET) steht hier schon zig mal im Forum, ist ganz einfach einzubinden.


    oder auch hier


    http://www.androidsnippets.com…t-request-with-httpclient

  • Sehe ich auch So.
    Dazu kannst du dann ein kleines PHP-Skript machen, welches die Daten auswertet und anzeigt. Das Anzeigen würde auch über eine App funktionieren.
    Email ist absolut keine Alternative für Umfragen.

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Alles klar, danke. Ich mache das jetzt mit einem Java-Interface und einer Amazon RDS Datenbank.


    Weiteres Problem ist der Fragebogen an sich.


    Es soll so laufen, dass pro Screen eine Frage eingeblendet wird und abhängig von der Antwort wird eine neue andere Frage eingeblendet.


    Bisher hatte ich das mit verschiedenen Activities gemacht, also pro Screen eine Activity. Aber es muss doch auch ohne 100 verschiedene Java-Files in nur einer Activity gehen oder? Es gibt da doch den ViewSwitcher, ViewAnimator usw., aber die machen irgendwie nicht, was ich möchte.


    Gibts da ne Möglichkeit, einfach die View zu wechseln und da neue Elemente zu platzieren in dem Moment, wo auf einen Button (Next) gedrückt wird?


    Danke :)

  • Also eine Activity wo die Fragen generiert werden reicht doch vollkommen.
    Du kannst doch den View dynamisch zusammenbauen. keine Ahnung wie deine Fragen/Antworten jetzt aussehen. aber zB. 4 Checkboxen einzubauen ist ja kein Problem.


    Ich hab das bei einer Umfrage auch so gekapselt und du baust dir halt vorher deine möglichen View Varianten in Routinen zusammen


  • Danke, vielen Dank.


    Ich bin jetzt schon ein paar Schritte weiter, werde das mit einer DB machen.


    Aber um in die DB zu schreiben, muss ich alles an meine letzte Activity im Fragebogen senden (heißt Submit.java).


    Die Klassen davor sollten an Submit Daten senden (ausgewählte Radiobuttons), aber auf einen anderen Screen als Submit linken, also einen anderen aufrufen (außer der unmittelbare Vorgänger von Submit natürlich.


    Wie hier im Beispiel:

    Java
    Intent intent = new Intent(context, Submit.class);						
    						intent.putExtra("gender", 1);
    			//		Intent intent = new Intent(context, PersonalData.class);
    		  //  		intent.setClass(context, PersonalData.class);
                        	startActivity(intent);


    Die Activity soll die 1 als Integer unter dem Schlüssel "gender" an Submit.class senden. Das funktioniert auch.


    Allerdings möchte ich danach, dass PersonalData.class aufgerufen wird, und das bekomme ich aktuell noch nicht hin.


    Kann mir einer von euch sagen, was der Trick an der Sache ist? Die obere auskommentierte Zeile geht nicht, weil intent natürlich doppelt ist. Einen anderen Intent definieren und starten funktioniert aber auch nicht, ebensowenig wie diese setClass-Sache (oder ich machs verkehrt).


    Was ist der Trick an der Sache? Vielen Dank...

  • Hi,


    naja du übergibst deine Daten an Submit.class. Der nimmt die ganzen Werte an und muss dann von da aus auf die PersonalData.class leiten. Du hast da evtl. einen kleinen Denkfehler, sobald du startActivity aufrufst bist du in der Klasse, die du im Intent angegeben hast. Von selbst springt der da nicht zurück und ackert weiter. Man möge mich korrigieren, falls ich grade bockmist verzapfe ;)


    Gruß,
    matze

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!