Wpis z mikrobloga

#androiddev #programowanie #sqlite
Piszę malutką apkę używającą SQLite, z którego dane wyświetlać ma RecyclerView, ale mam problem, bo wyskakuje mi komunikat: TaskDBHelper.getAllItems()' on a null object reference.
Jest to moje pierwsze zetknięcie z SQLite, więc za Chiny ludowe nie mam pojęcia gdzie zrobiłem błąd.

Rzeczona metoda:
public Cursor getAllItems() {
return mDatabase.query(
TaskContract.TaskEntry.TABLENAME,
null,
null,
null,
null,
null,
TaskEntry.COLUMN
DATE + "DESC"
);
}

Wywołanie w onCreate:
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
mMainAdapter = new MainAdapter(this, mTaskDBHelper.getAllItems());
recyclerView.setAdapter(mMainAdapter);
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DanielAquarius: generalnie jakiekolwiek ORM nad gołą bazą jest bardziej pożądane. Sprawdź ten Realm, można też zerknąć na Room.

co do tych NPE, to musisz debuggerem się pobawić sam po prostu i znaleźć czego w porę nie inicjalizujesz.

Nie inicjację, tylko inicjalizację. Tak, przekazujesz tam Activity do adaptera co zapewne spowoduje Ci wyciek pamięci. Jeżeli jest Ci koniecznie potrzebny kontekst wewnątrz adaptera to niech to będzie kontekst całej aplikacji. Ale w
  • Odpowiedz