Как создать базу данных в Android без контекста?

#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, повезло, что я нашел этот пост, потому что мои требования такие же, как и ваши. Интересно, какой подход вы выберете, наконец? и если вы используете то, что упомянули выше, какой допустимый путь вы используете? Спасибо.