Wert ( Jahr) von Activity an DBHelper übergeben

  • 3 Antworten
  • Letztes Antwortdatum
H

Heribert500

Ambitioniertes Mitglied
1
Guten Morgen, (Wetter bäh),

ich versuche eine Jahreszahl aus meiner Activity an die DBHelper zu übergeben um dann
diese Zahl in einen SQL Statement zu verwenden.
Wenn ich das Jahr wie im Code direkt reinschreibe, funktioniert die Abfrage mit richtigem egebnis.

Code:
public ArrayList<KalenderModel> Get_Kalender() {
        try {
            kalender_list.clear();
            SQLiteDatabase db = this.getWritableDatabase();
            
            Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_KALENDER + " where rfrei11= ? ", new String[]{"2015"});

            if (cursor.moveToFirst()) {
                do {
                    KalenderModel kalender = new KalenderModel();
                    kalender.setID(Integer.parseInt(cursor.getString(0)));
                    kalender.setrDatum(cursor.getString(1));
                    kalender.setrtest1(cursor.getString(2));
                    kalender.setrtest2(cursor.getString(3));
                    kalender.setrFrei1(cursor.getString(4));
                    kalender.setrFrei2(cursor.getString(5));
                    kalender.setrFrei3(cursor.getString(6));
                    kalender.setrFrei4(cursor.getString(7));
                    kalender.setrFrei5(cursor.getString(8));
                    kalender.setrFrei6(cursor.getString(9));
                    kalender.setrFrei7(cursor.getString(10));
                    kalender.setrFrei10(cursor.getString(11));
                    kalender_list.add(kalender);
                } while (cursor.moveToNext());            }

            cursor.close();
            db.close();
            return kalender_list;
        } catch (Exception e) {
            // TODO: handle exception
        }

        return kalender_list;
    }


ich habe es so versucht, funktioniert nicht
Problem liegt wohl bei getIntent, wird rot markiert

Aufruf aus der Activity:
Code:
btnsnd.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {               
                Intent ii=new Intent(KalenderDB.this, DBHelper.class);
                ii.putExtra("ijahr", "2015");
                startActivity(ii);
            }
        });

und in der DBHelper
Code:
public ArrayList<KalenderModel> Get_Kalender() {
        try {..............
  
String getjahr = getIntent().getStringExtra("ijahr");
if (!getjahr.trim().equals("")){

}

     else {
jedoch wird getIntent nicht akzeptiert

Wie kann ich das Jahr sonst an DBHelper übergeben??

Danke für euer Tipps

heribert500
 
Ich bin mir nicht sicher aber dein DBHelper müsste vom SQLiteOpenHelper erben, richtig? Dieser bietet eben keine Methode getIntent().

Vielmehr deklarierst und definierst du dir den DBHelper in deiner Activity um dort dann die Methode aufzurufen. Einen Intent zu starten macht da absolut kein Sinn.

Code:
btnsnd.setOnClickListener(new OnClickListener() {
            public void onClick(View arg0) {              
                KalenderModel kalender = dbHelper.getKalender("2015");
            }
        });

Bitte beachte die Code-Konventionen von Java, nicht "Get_Kalender" sondern "getKalender".
 
  • Danke
Reaktionen: Heribert500
Hallo Madlip,

zunächst schon mal dankeschön.
Ich schau mal ob ich das umgesetzt bekomme.

Beschäftige mich seit 6 Wochen ca. mit Android und versuche mich gleich an so schweren Dingen.

Will das Jahr als Variable (..2015 2016 2017...) übergeben und nur diese daten anzeigen.

Das mit den intent im SQLHelper hab ich jetzt nachgelesen.

Und die Unterstriche Get_Kalender usw... werde ich abändern.

also Danke und...


bis zum nächsten Problem
 
Kein Problem. Sag bescheid ob es geklappt hat oder ob es noch Probleme gibt.
 
Zurück
Oben Unten