Forum » Programiranje » [Android] Pobiranje podatkov iz baze
[Android] Pobiranje podatkov iz baze
Ciklamen ::
Pozdrav.
Rad bi to kar imam v bazi spravil v ListView. Ampak ker ne morem pogruntati kako (tile Cursorji mi delajo še manjše preglavice) in ker na googlu nekako ne najdem tega, kar iščem, me zanima če mi kdo tu lahko pomaga.
In sicer, v Class-u imam metodo imenovano getDataWorkout(), pripisujem kodo zraven
Tale snippet sem nekje našel na spletu in sem ga uporabil v svojem app-u. Ko sem debuggal se je zataknilo pri cursorju, kot tudi razumem je to samo za en data, ne za celotno bazo?
Rad bi to kar imam v bazi spravil v ListView. Ampak ker ne morem pogruntati kako (tile Cursorji mi delajo še manjše preglavice) in ker na googlu nekako ne najdem tega, kar iščem, me zanima če mi kdo tu lahko pomaga.
In sicer, v Class-u imam metodo imenovano getDataWorkout(), pripisujem kodo zraven
DataWorkout getDataWorkout(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_DATA_WORKOUTS, new String[] { KEY_ID, KEY_WORKOUT_NAME}, KEY_ID + "=" + id, new String[] { String.valueOf(id) }, null, null, null, null); if (cursor != null) cursor.moveToFirst(); DataWorkout data = new DataWorkout(Integer.parseInt(cursor.getString(0)), cursor.getString(1)); return data; }
Tale snippet sem nekje našel na spletu in sem ga uporabil v svojem app-u. Ko sem debuggal se je zataknilo pri cursorju, kot tudi razumem je to samo za en data, ne za celotno bazo?
- End of the Post ->
shadeX ::
V čem je sploh problem? Kakšen error ti vrne LOGCAT?
Z Cursor objektom pridobivaš posamezen data, tistega ki želiš.
Ko sem debuggal se je zataknilo pri cursorju, kot tudi razumem je to samo za en data, ne za celotno bazo?
Z Cursor objektom pridobivaš posamezen data, tistega ki želiš.
Ciklamen ::
Error mi da:
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
Kaj je problem? Da ne znam pobrat vseh podatkov iz baze ^^ Baza je ustvarjena, saj ima 32 vnosov (imam metodo ki mi pač select-a vse iz baze in vrne število vnosov)
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
Kaj je problem? Da ne znam pobrat vseh podatkov iz baze ^^ Baza je ustvarjena, saj ima 32 vnosov (imam metodo ki mi pač select-a vse iz baze in vrne število vnosov)
- End of the Post ->
shadeX ::
Potem ne izbiraš pravih podatkov zato ti vrne 0. Recimo na hitro, jaz iz ene baze zahtevam podatke na tale način. Sicer ni ravno pravilen ampak deluje..
String sqlAction = "SELECT "+FAVOURITES+" FROM "+DATABASE_TABLE+" WHERE "+FAVOURITES+" IS NOT NULL ORDER BY ID DESC"; Cursor cursor = database.rawQuery(sqlAction, null);
Ciklamen ::
List<DataWorkout> getDataWorkout() { SQLiteDatabase db = this.getReadableDatabase(); List<DataWorkout> dtWorkout = new ArrayList<>(); String query = "SELECT * FROM "+TABLE_DATA_WORKOUTS; Cursor cursor = db.rawQuery(query, null); if (cursor != null) { cursor.moveToFirst(); do { DataWorkout dtW = new DataWorkout(); dtW.setID(cursor.getInt(cursor.getColumnIndexOrThrow(KEY_ID))); dtW.setWorkout(cursor.getString(cursor.getColumnIndexOrThrow(KEY_WORKOUT_NAME))); dtWorkout.add(dtW); } while(cursor.moveToNext()); } return dtWorkout; }
Sem nardil tako, pa sedaj loopa vse skozi. Hvala!
- End of the Post ->
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Android - ZačetnikOddelek: Programiranje | 1781 (1106) | hurlimannxt |
» | [android] java.lang.RuntimeExceptionOddelek: Programiranje | 1078 (770) | piki12 |
» | [android] vstavljanje slikeOddelek: Programiranje | 1240 (1137) | messi |
» | sql-t stored procedureOddelek: Programiranje | 1058 (925) | detroit |
» | C++ programirane v Open GL oz. Direct xOddelek: Programiranje | 2979 (2250) | Vesoljc |