Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
TanaTiX
Модератор
2746 / 1591 / 146
Регистрация: 19.02.2011
Сообщений: 5,732
#1

NullPointerException при доступе к локальной БД - Программирование Android

04.10.2016, 21:59. Просмотров 141. Ответов 3
Метки нет (Все метки)

Вот такая вот ошибка.
10-04 21:39:40.009 32278-32278/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.tanatix.checkinternetresourceschanges, PID: 32278
java.lang.NullPointerException
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
at com.tanatix.checkinternetresourceschanges.DatabaseHelper.updateData(DatabaseHelper.java:81)
at com.tanatix.checkinternetresourceschanges.ResourceListAdapter$2.onClick(ResourceListAdapter.java:168)
at android.view.View.performClick(View.java:4442)
at android.view.View$PerformClick.run(View.java:18473)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5105)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
at dalvik.system.NativeStart.main(Native Method)
Вот такой вот код (public class DatabaseHelper extends SQLiteOpenHelper implements BaseColumns{)
Java
1
2
3
4
5
6
7
8
9
10
public int updateData(Resource resource, ContentValues values){
        db = this.getWritableDatabase();//Ошибка в этой строке
        Log.w("update item", "id: " + BaseColumns._ID + " old value " + values.getAsString(Resource.NAME_STATUS) );
 
        int countChanges = db.update(DATABASE_TABLE, values, BaseColumns._ID + "= " + resource.get_id() , null);
        if(countChanges>0){
            DatabaseSingleton.getInstance().getActivity().onListUpdate();
        }
        return countChanges;
    }
Что делать, куда копать не понятно. Буду благодарен любой помощи. Раньше код работал, но потом внезапно перестал. Примечательно, что я ничего, что, как мне кажется, могло бы повлиять на работу этого участка кода, не правил, этот метод однозначно остался без изменений. Вызов его происходит по клику мышки.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2016, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос NullPointerException при доступе к локальной БД (Программирование Android):

NullPointerException при поиске ListView - Программирование Android
Здравствуйте! Есть список (ListView), заполненный данными, есть строка поиска (EditText). Список отображается верно, но если ввести любой...

NullpointerException при записи файла - Программирование Android
NullpointerException в чем проблема может быть? BufferedWriter fs = new BufferedWriter(new...

java.lang.nullpointerexception при создании нового проекта - Программирование Android
Доброго времени суток, собственно вопрос состоит в том что при создании нового проекта в эклипсе появляетса...

Выкидывает NullPointerException при заполнении данных через ArrayAdapter - Программирование Android
Заполняю данные из массива Food.foods с помощью ArrayAdapter в ListView макета activity_food_category.xml. При заполнении выкидывает ошибку...

NullPointerException - Программирование Android
Доброго времени суток. Совсем недавно решил занятся разработкой под андроид, но вот на первых шагах столкнулся с проблемой. По аналогии...

NullPointerException - Программирование Android
Здравствуйте! На строке AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); выдает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 472
04.10.2016, 23:29 #2
Цитата Сообщение от TanaTiX Посмотреть сообщение
Вызов его происходит по клику мышки
Уже интересно. А в каком классе находится этот код? И в каком классе находится мышка?
TanaTiX
Модератор
2746 / 1591 / 146
Регистрация: 19.02.2011
Сообщений: 5,732
04.10.2016, 23:41  [ТС] #3
Проблема решена. В ходе моих "усовершенствований" в DatabaseHelper вместо Context попадал null - отсюда и ошибка.

Добавлено через 3 минуты
OlegJV, я не андроид-разработчик и пишу программу для себя (хотя это и не оправдание), потому предполагаю, что количество костылей у меня в проекте стремиться к количеству написанного кода. В моем проекте мышка слушается в наследнике ArrayAdapter. Как по мне криво, но это уже для другой темы, которую кто-нибудь когда-нибудь поднимет, может даже и я.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 472
05.10.2016, 00:00 #4
Я про классы с этой целью и спрашивал - откуда куда контекст идет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2016, 00:00
Привет! Вот еще темы с ответами:

NullPointerException - Программирование Android
Помогите разобраться в логе. Не могу понять где вылазит NullPointerException. 08-12 08:40:49.847: E/AndroidRuntime(858): FATAL...

NullPointerException - Программирование Android
В методе присутствует вот такая конструкция new Thread(new Runnable() { @Override public void run() { ...

NullPointerException - Программирование Android
Button button = (Button)findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override ...

NullPointerException - Программирование Android
Не пойму почему налл?? @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.10.2016, 00:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru