1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. ensacom, 16.05.2009 #1
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Hallo, kann mir einer ein kleines Beispiel dafür geben, wie ich mit meinem Programm erst eine SQLite-DB anlegen und dann lesend und schreibend darauf zugreifen kann?

    Ich möchte Eingaben in ein Textfeld in die Datenbank schreiben und anschließend die Werte in einer Liste ausgeben.

    Bitte ganz was einfaches, aus dem notes-Tutorial steige ich nicht ganz durch weil das einfach zu umfangreich ist.

    Danke schon mal.
     
  2. ensacom, 17.05.2009 #2
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Kann mir da wirklich keiner helfen?
     
  3. ensacom, 18.05.2009 #3
    ensacom

    ensacom Threadstarter Android-Hilfe.de Mitglied

    Ich habe es nun geschafft eine Datenbank anzulegen, Tabellen darin anzulegen, Daten in eine Tabelle zu schreiben und diese Daten auch wieder auszulesen.

    Kann bitte jemand den Source durchschauen und mir Tipps geben was man besser machen könnte und was nicht so gut ist?



    Haupt-Activity
    Code:
    public class ensacom1 extends Activity {        
        SQLiteDatabase myDB = null; 
        final static String MY_DATABASE_NAME = "tankpro";
        final static String MY_DATABASE_TABLE = "fahrzeuge";
        
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            onCreateDBAndDBTabled(); //DB und Tables erstellen wenn noch nicht vorhanden
            setContentView(R.layout.main);
        }
    
    
        private void onCreateDBAndDBTabled()
        {
            myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);
            myDB.execSQL("CREATE TABLE IF NOT EXISTS " + MY_DATABASE_TABLE
                            + " (id integer AUTO_INCREMENT PRIMARY KEY, name varchar(100), model varchar(100), bemerkungen varchar(255), kraftstoffart varchar(100))"
                            +";");
        }
    
    Activity Fahrzeug_New
    Code:
    //Klick auf einen Menüpunkt
        public boolean onOptionsItemSelected(MenuItem item){
            switch (item.getItemId()) {
            case MENU_SAVE:
                EditText KfzName = (EditText)findViewById(R.id.ed_fahrzeugname);
                EditText KfzModel = (EditText)findViewById(R.id.ed_fahrzeugmodel);
                EditText KfzBemerkungen = (EditText)findViewById(R.id.ed_fahrzeugbemerkung);
                Spinner KfzKraftstoffart = (Spinner)findViewById(R.id.cb_Kraftstoffarten);
                    
                InsertToDB(KfzName.getText().toString(), KfzModel.getText().toString(), KfzBemerkungen.getText().toString(), KfzKraftstoffart.getSelectedItem().toString());
                Intent ifahrzeuge = new Intent(this, fahrzeuge.class);
                startActivity(ifahrzeuge);
                return true;    
            }
            return false;
        }
    
    
    //Neues Fahrzeug in DB speichern       
        public void InsertToDB(String kfzName, String kfzModel, String kfzBemerkungen, String kfzKraftstoffart)
        {
            SQLiteDatabase myDB = null;
            try {
                myDB = this.openOrCreateDatabase(ensacom1.MY_DATABASE_NAME, MODE_PRIVATE, null);    
                myDB.execSQL("INSERT INTO "+ensacom1.MY_DATABASE_TABLE+" (name, model, bemerkungen, kraftstoffart) "
                                                       +"VALUES ('"+kfzName+"','"+kfzModel+"','"+kfzBemerkungen+"','"+kfzKraftstoffart+"');");
            }
            finally
            {
                if (myDB != null)
                    myDB.close();
            }
        }
    

    Activity fahrzeuge
    Code:
    public class fahrzeuge extends ListActivity {
        SQLiteDatabase myDB = null; 
        ArrayList<String> results = new ArrayList<String>();  
        
        @Override
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
            
            myDB = this.openOrCreateDatabase(ensacom1.MY_DATABASE_NAME, MODE_PRIVATE, null);        
            Cursor c = myDB.rawQuery("SELECT name, model FROM " + ensacom1.MY_DATABASE_TABLE + ";", null);
            int kfzNameColumn  = c.getColumnIndex("name");
            int kfzModelColumn = c.getColumnIndex("model");
            startManagingCursor(c);
            c.moveToFirst();
         
            if (c != null) {
              if (c.isFirst()) {
                     int i = 0;
                  
                     do {
                          i++;
         
                          String kfzname = c.getString(kfzNameColumn);
                          String kfzmodel = c.getString(kfzModelColumn);
                          results.add(kfzname + " - " + kfzmodel);
                     } while(c.moveToNext());
                  }
            }
            this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, results));
        }
    
    Für Tipps was ich besser machen könnte wäre ich sehr dankbar
     
    deimos, walla und Asfaloth haben sich bedankt.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Android Room, wie einsteigen? Android App Entwicklung 31.07.2018
Eintrag in einer Datenbank mithilfe einer ListView löschen Android App Entwicklung 20.06.2018
Android Studio: Auf Datenbank mit zwei Spinner zugreifen. Android App Entwicklung 07.06.2018
SQLite Datenbank mit zwei Tabellen erstellen Android App Entwicklung 30.05.2018
Was am besten für eine Datenbank benutzen? Android App Entwicklung 26.02.2018
Eigene Web DB für App Inventor Android App Entwicklung 10.02.2018
[OFFEN] Schreiben sehr langsam mit Canvas und SurfaceView Android App Entwicklung 04.01.2018
Spinner item in Datenbank schreiben mysql Android App Entwicklung 23.12.2017
[OFFEN] QuizApp schreiben? Android App Entwicklung 03.12.2017
[OFFEN] Keine doppelten Einträge in die Firebase Datenbank Android App Entwicklung 27.10.2017

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. mit button werte in sqlite schreiben

    ,
  2. lesen und schreiben datenbank

  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.