TinyDB ошибка putint нулевая ссылка на объект Android
я использую его просто по умолчанию коды, такие как: 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, не делайте его глобальной переменной.