Я использую TinyDB для передачи ArrayList из одного занятия в другое.TinyDB имеет конструктор, подобный следующему:
public class TinyDB {
public TinyDB(Context appContext) {
preferences = PreferenceManager.getDefaultSharedPreferences(appContext);
}
}
Когда я инициализирую метод TinyDB изнутри, все работает нормально:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
TinyDB tinydb = new TinyDB(getApplicationContext());
}
Но когда я помещаю это raw вне любого метода,
TinyDB tinydb = new TinyDB(getApplicationContext());
@Override
public boolean onOptionsItemSelected(MenuItem item) {
}
Появляется
java.lang.NullPointerException: попытка вызвать виртуальный метод 'android.content.Context android.content.Context.getApplicationContext ()' для ссылки на нулевой объект
Может кто-нибудь объяснить мне, в чем разница между этими двумя способами инициализации TinyDB?Любые ссылки также будут оценены.