TinyDB ошибка putint нулевая ссылка на объект Android

Класс TinyDb здесь

я использую его просто по умолчанию коды, такие как: TinyDB tinyDB = new TinyDB(MyActivity.this); а также tinyDB.putInt("hadi" , 10);

но я получаю ошибку, которую я не могу понять. это говорит, что tinyDB является нулевой ссылкой на объект. Вы можете увидеть ошибку ниже:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.ahmadi.TinyDB.TinyDB.putInt(java.lang.String, int)' on a null object reference

3 ответа

Решение

Вы должны создать объект вашего класса TinyDB, как:-

TinyDB tinyDB = new TinyDB();

Вы должны правильно инициировать свой TinyDB перед его использованием!

Например, в Activity:

TinyDB tinyDB = new TinyDB(this); 
tinyDB.putInt("hadi" , 10);

или в Fragment:

TinyDB tinyDB = new TinyDB(getContext()); 
tinyDB.putInt("hadi" , 10);

TinyDB - это просто оболочка SharedPreferences поэтому важно, чтобы вы предоставили действительный Context к нему, чтобы инициировать SharedPreferences

Вы получаете ошибку, потому что вы передаете контекст перед Oncreate, просто передаете контекст после oncreate, не делайте его глобальной переменной.

Другие вопросы по тегам