Beiträge von matthias

    Hi M3doXX,


    du definierst an geeigneter stelle eine ArrayList mit den Elementen

    Java
    ArrayList<EntryGoal> goalList = new ArrayList<EntryGoal>();


    und passt deine for-schleife dann an


    Gruß,
    matze

    Hi,


    Du solltest für die Zukunft aber trotzdem deine Server mal umstellen und die logs mitlaufen lassen. Da hätte man deinen Fehler auf den ersten Blick gesehen.


    Nur mal so, folgendes ist doch eigenltich viel schöner, sicherer, besser:

    Code
    $stmt = $this->db->prepare("SELECT a FROM b where c=?;");				
    $stmt->bind_param("s", $value_for_c);
    $stmt->execute();
    $stmt->close();



    Gruß,
    Matthias

    Hi,


    naja, ich bin da vll. etwas zu tief drin mit den ganzen ListViews. Hab schon paar gebaut und ist eigentlich nurnoch Copy&Paste und paar Sachen anpassen, also routine ;)


    Du könntest mit meiner Variante alles so lassen wie es jetzt ist bis auf den ArrayAdapter der ein BaseAdapter werden müsste. Du bräuchtest vermutlich nichtmal 2 Layouts die einer Zeile entsprechen, du willst ja offenbar nur den String itself anders formatieren. Da würdest du dann einfach in der getView, in der du deine Bean EntryGoal ja in der Hand hältst nicht mit .toString() in die TextView hängen sondern eine andere Methode aufrufen, die einen anders formatierten String zurück gibt.


    - Eine Klasse erstellen, die von BaseAdapter erbt und sich an meinem MenuItemAdapter orientiert
    - Im Konstruktor gibst du einen boolean mit, anhand von dem du unterscheiden kannst, welche Formatierung du denn überhaupt brauchst.
    - in der getView baust du einen if-Block if (flag) .toString methode aufrufen else .toString2() aufrufen
    - den Return wert in die TextView werfen, die du in der xml datei definiert hast (listitem)


    wars eigentlich.


    Gruß,
    matze

    Hi Jörg,


    im Grunde musst du nur ein Layout, welches einer Zeile deiner ListView entspricht definieren. Da drin nimmst du dann ein LinearLayout o.ä. Hab vorhin woanders das Grundgerüst schonmal gepostet -> klick
    Einfach das RelativeLayout durch LinearLayout ersetzen ...


    Gruß,
    matze

    Hi,


    Laufen deine Server unter Linux? Stell mal dein MySQL in der my.cnf um dass er alles mitloggt und hau ein tail -f auf /var/log/apache2/error.log und eins auf /var/log/mysql/mysql.log. Da stehen eigentlich alle Infos drin wenn du dich in PHP irgendwo verhaun hast oder deine SQL nicht stimmt. Weißt du überhaupt ob das zeug ankommt bei dir? Mach doch einfach mal ein normales HTML Formular und stoß das ganze von da aus an.


    Gruß,
    matze

    Hi M3doXX,


    alles klar ;)


    Also ich mach das immer so:


    1. Bau ich mir ein listitem.xml, das im Ordner layout liegt, z.B.:



    Dann füge ich meiner View eine ListView hinzu, z.B.:


    In der onCreate der entsprechenden Activity mache ich dann

    Java
    MenuItemAdapter adapter = new MenuItemAdapter(this, actItem.getItems());
    		ListView lv = (ListView) findViewById(R.id.lstMenu);
    		lv.setOnItemClickListener(this);
    		lv.setAdapter(adapter);


    Wobei actItem.getItems() ein ArrayList<MenuItem> zurück gibt. Ein MenuItem ist einfach nur eine dumme Bean die ihren Titel hält.


    Das tatsächlich interessante für dich ist jetzt dieser MenuItemAdapter, dem du in deinem Fall noch den entsprechenden Typ mitgibst, z.B. einen boolean isListeA oder so.
    Der Adapter schaut dann so aus bei mir:



    wobei du im construktor dann noch einen boolean isListeA dabei hast damit du in der getView da wo ich

    Java
    MenuItem item = (MenuItem) getItem(position);
    		holder.getName().setText(item.getName());


    mache noch bisschen was formatierst. Oder aber du baust dir eben ein zweites listitem.xml und machst dann bei

    Java
    convertView = inflator.inflate(R.layout.listitem, parent, false);


    schon die Unterscheidung. Es ist gut möglich, dass du ähnliche schnipsel beim googeln findest, hab ich zum größten teil selbst mal wo entwendet :D



    So, hab ich dich jetzt noch etwas mehr verwirrt oder konnte ich dir erfolgreich helfen? ;)


    Gruß,
    matze

    Hi M3doXX,


    ich kenn jetzt natürlich den Rest deiner Struktur nicht aber falls du noch keinen eigenen Adapter für deine ListView gebaut hast könntest du dies nachholen indem du eine Klasse von BaseAdapter erben lässt und gibst ihm im Konstruktor ein Flag mit. in der getView entscheidest du dann je nach Flag was zurück gegeben werden soll indem du ein anderes Zeilenlayout rein lädst oder da einfach direkt im code anders formatierst. Falls du da noch ein paar Codeschnipsel bräuchtest rühr dich einfach nochmal ;)


    Gruß,
    matze

    Hi,


    also versteh ich dich richtig: deine XML Datei beschreibt eine Zeile deiner Liste und du willst ja mehrere Zeilen haben? Egal wie rum evtl. hilft dir das Stichwort LayoutInflater.


    Java
    LayoutInflater inflater = LayoutInflater.from(context);
    View artikel = inflater.inflate(R.layout.artikel, parent, false);


    parent ist hier eine ViewGroup in die man die ganze Sache einhängen will ...


    Vll. hilfts dir ja was ;)


    Gruß,
    matze

    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

    Hi,


    ich wühl mich auch grad durch C2DM. Hier mal die Tutorials auf die ich so gestoßen bin:


    Push Nachrichten mit Googles C2DM
    Android Cloud To Device Messaging
    Push Notification in Android Apps via C2DM
    und natürlich die offizielle Doku
    Android Cloud To Device Messaging Framework



    So wie ich dich verstehe willst du via POST die Nachricht zu deinem Server schicken. Der Pusht dann ein "Sie haben eine neue Nachricht" zum Device des Empfängers. Der Empfänger drückt drauf die App öffnet sich und du pollst dir die gesamte Message von deinem Server, richtig? Sowas ist gang und gebe was ich bisher so mitbekommen hab darüber. Sowas die Richtung bastel ich auch grad ;)



    Gruß,
    matze

    Hi,


    hab grad keine Zeit deinen Code lesbar zu formatieren ... hilft dir vll. das hier? Beinhaltet zwar nicht alles 1:1 so, die Beschriftung vor dem Bild fehlt und du müsstest das Bild von links nach rechts bauen. Aber vll. fällt dir ja was ausschlaggebendes auf ;)


    Gruß,
    matze

    Hi,


    ich weiß natürlich nicht ob du da deinen kompletten Code gepostet hast, aber wenn ich das ganze in Eclipse kopiere flamed er erstmal wegen dem Konstruktor und wegen den unimplemented Methods. Hast du die hinzugefügt? Eclipse kann sich da auch mal verschlucken und die Fehler erst anzeigen, wenn du das Project mal cleanst.


    Funktionierts denn jetzt oder hat das was ich geschrieben habe nichts geändert? Wenn ich mir deinen ersten Post noch mal so durch den Kopf gehen lasse ... willst du da evtl. eine innere Klasse bauen und gar nicht so wie ich es zuerst verstanden hatte in eine eigene Datei?


    Gruß,
    matze

    Hi,


    Klassennamen werden nach Kamelhöcker Schreibweise benannt und sollten keine _ enthalten, sowas macht man nicht.
    Dann brauchst du noch einen construktor und die unimplemented methods vom SQLiteOpenHelper. Kannst du, falls du eclipse benutzt, eh ganz einfach hinzufügen indem du auf den rot unterkringelten Klassenname gehst mit der Maus bis ein Tooltip auf geht. Da dann den quick fix einfach anklicken.


    Gruß,
    matze

    Hi,


    wollt nur kurz sagen, dass dein Link gold wert war titus ;) Es ist zwar noch nicht fertig aber ich kriege einen Auth Key und für die Devices Registration IDs. Der rest dürfte eig. straight forward gehen. Hatte mich in einem Gewirr aus Permissions und Receivern verhäddert und irgendwann stimmte einfach gar nichts mehr hinsichtlich Packagenames und benötigter Berechtigungen. Kommt halt davon, wenn man zich schlechte Tutorials zusammen wirft bei denen jeweils ein Teil fehlt :D


    Ich mach mich wieder ans Werk ...


    Gruß,
    matze


    UPDATE: weiß jemand woran es liegen könnte, wenn ich mit meinem Handy die Notifications nun empfange, mit dem meiner Kollegin jedoch nicht? Muss ich da noch was aktivieren das bei mir schon so war? Liegts evtl an ICS vs 2.3.5?

    Habs auch mal mit

    Java
    C2DMessaging.register(this, getString(R.string.PUSHMAIL));


    probiert jedoch das gleiche Problem ... Keine LogCat ausgaben, kein garnichts ....

    Java
    C2DMessaging.getRegistrationId(this)

    liefert einfach ""


    Langsam bin ich am verzweifeln ...

    Hmm, vll hab ich das ganze zu allgemein und allumfassend formuliert.


    Ich glaube ich weiß jetzt wo genau er aussteigt:


    Beim start meiner App rufe ich folgende Methode auf

    Java
    public void register() {
    		Log.w("C2DM", "start registration process");
    		Intent intent = new Intent("com.google.android.c2dm.intent.REGISTER");
    		intent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
    		// Sender currently not used
    		intent.putExtra("sender", getString(R.string.PUSHMAIL));
    		startService(intent);
    	}


    In der Dokumentation steht


    aber mein RegistrationReceiver springt nicht an. Die entsprechenden Code-Snippets sähen so aus


    In der AndroidManifest.xml hätte ich den Receiver eigentlich auch eingebunden


    Deswegen gibt mir dann der Code

    Java
    public void showRegistrationId() {
    		SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    		String string = prefs.getString(getString(R.string.AUTH), "n/a");
    		Toast.makeText(this, string, Toast.LENGTH_LONG).show();
    		Log.d("C2DM RegId", string);
    
    
    	}


    nur ein "n/a" zurück.


    Sieht da irgendjemand einen Fehler? Für mich würde der Code nämlich eigentlich recht logisch aussehen. Ich weiß leider auch nicht ob ich die Rückgabe des Intents der Registrierung irgendwo abfangen und auslesen kann, um neue Erkenntnis zu erlangen.


    Kann mir jetzt vll. eher jemand helfen?


    Gruß,
    matze

    Hi,


    fehlt dir vll. das Eclipse Plugin noch? Im Yoxos Marketplace gibts das Plugin AdbConnect mit dem Eclipse mit einem Android Device kommunizieren kann. Andere Idee: Wurde bei dir das AndroidManifest.xml überhaupt richtig erzeugt und ist überhaupt existent? Wenn ein SDK eingetragen wurde und Eclipse immernoch nicht will einfach mal Project > Clean ausführen dann erzeugt er alles neu, vll. hat er sich ja nur verschluckt.


    Gruß,
    matze