SQL Daten in einem Fragment ausgeben

  • Hallo,


    da ich noch ein blutiger Anfänger in der Android Programmierung bin und ich seit einiger Zeit an einem Problem
    in meiner APP fest hänge. Möchte ich hier ein Frage in die Runde stellen.
    Ich versuche Daten aus meiner Datenbank in ein View in einem Fragment auszugeben. Leider bisher erfolglos.


    Code
    myDB = this.openOrCreateDatabase(MKMSActivity.MY_DB_NAME, MODE_PRIVATE, null);
        	
        	Cursor c = myDB.rawQuery("SELECT _id, notiz , kundenname , kundennummer , datum , bearbeitet FROM " + MKMSActivity.MY_DB_NOTIZEN_TABLE + " ORDER BY datum and kundennummer" + ";", null);   // " WHERE _id = 3" + 	
        	
        	startManagingCursor(c);	
    
    
        	SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.notizenkomplett, c, new String[] { "_id" }, new int[] { R.id.text1 });


    Dieser Code läuft Problemlos in einer ListActivity aber nicht in meiner Fragment Klasse.

    Code
    public class NotizenHistorieFragment extends ListFragment


    Ich vermute es hat was mit dem Context zu tun. Bin mir aber nicht sicher und habe auch keine Lösung. ;(


    Bitte dringend um Hilfe. Wenn ihr mehr Infos benötigt dann nur nachfragen.


    Gruß


    Renato

  • Hallo Titus,


    ich bekomme die Klasse ja nicht durch den debugger.
    Ich habe bereits eine komplett neue Klasse geschrieben mit Zugriff auf meine Datenbank.
    Aber sobald ich dort den Cursor für dei Datenbank ertelle erhalte ich einen Fehler in der XML Datei.
    Dort steht dieses

    Code
    <fragment

    Wie gesagt den Code für die Ausgabe der SQL Daten,funktioniert
    in einer anderen ListActivity Klasse. Die Ausgabe in den Fragments funktionieren auch aber nur mit einer
    selbsterstellten Stringlist. Hier das Beispiel:

    Code
    String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
    				"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
    				"Linux", "OS/2" };
    		ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
    				android.R.layout.simple_list_item_1, values);
    		setListAdapter(adapter);


    Gruß Renato

  • Hi oldwarrior,


    ich vermute deine Vermutung ist richtig.


    und zwar

    Code
    .openOrCreateDatabase();

    ist eine Methode der Klasse Context.
    Die Klasse ListActivity ist eine "Unterklasse" der Klasse Context und erbt damit auch openOrCreateDataBase(). Deshalb funktioniert auch dein Code in der ListActivity.


    Die Klasse ListFragment erbt aber nun nicht von Context also dürfte die Methode .openOrCreateDatabase(); nicht gehen.


    Wie gesagt es ist nur eine Vermutung, ich kann dir nicht zu 100% sagen das das dein Fehler ist.


    mfg Titus

  • Hallo Titus,


    danke das du dich an der Lösung meines Problems versuchst.
    Es kann eigentlich auch nicht so schwer sein. Das ListFragment soll ja dazu dienen,
    auch Daten aus einer Datenbank auszugeben. Die Frage ist nur wie?
    Wie kann ich denn noch anders auf meine SQL Daten zugreifen?


    Gruß Renato

  • Hallo Titus,


    es klappt wunderbar.
    Hier mal der Code dafür.


    großes Dankeschön,


    Gruß Renato

Jetzt mitmachen!

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