#android #database #sqlite
#Android #База данных #sqlite
Вопрос:
Я знаю, как создать базу данных с контекстом, но как создать ее без контекста?
Это нормально, как это:
SQLiteDatabase db = SQLiteDatabase.create(null);
но он создает базу данных в памяти, в то время как мне нужно создать базу данных в файле.
Поэтому я использую SQLiteDatabase.openOrCreateDatabase("/data/data/appname/databases/temp.db", null)
, он всегда выдает исключение SQLiteException: невозможно открыть файл базы данных.
Кто-нибудь может мне помочь?Это сводит меня с ума.
Комментарии:
1. У меня нет ответа на ваш вопрос, но мне интересно, зачем кому-то нужно создавать базу данных без контекста? Я имею в виду, в чем преимущество, если вы создаете базу данных без контекста?
2. В нашем приложении данные хранятся на очень низком уровне, а активность — на высоком уровне, я не думаю, что низкий уровень может что-то знать о более высоком уровне. Если действительно невозможно создать без контекста, может быть, после того, как Activity создаст базу данных, то передача ее на низкий уровень тоже может сработать?
Ответ №1:
Насколько я знаю, обработка файлов должна происходить при поддержке Activity (context). Я думаю, что это не на том уровне, на котором наши (разработчики) контролируют изменение способа, которым это делает Android.
Комментарии:
1. извините, @McGhost, повезло, что я нашел этот пост, потому что мои требования такие же, как и ваши. Интересно, какой подход вы выберете, наконец? и если вы используете то, что упомянули выше, какой допустимый путь вы используете? Спасибо.