Android разрешение на создание базы данных
Привет у меня есть некоторые проблемы при создании базы данных sqlite в android.
все нормально на эмуляторе, я могу создать базу данных. Но на самом деле это не работает. Когда я попытался отладить приложение на своем телефоне, ему просто не удалось создать базу данных.
Так может кто-нибудь сказать мне, что случилось? Есть ли специальное разрешение, которое мне нужно добавить в файл манифеста? Я пробовал ACCESS_CHECKIN_PROPERTIES или WRITE_EXTERNAL_STORAGE, но все еще не могу получить базу данных.
кстати, пользовательская база данных может храниться только на sd-карте, но в корневом каталоге?
большое спасибо!!
5 ответов
без какой-либо обратной связи в ошибке невозможно сказать вам, что не так в вашем коде. Тем не менее, я могу сказать вам, что вы делаете не нужно ACCESS_CHECKIN_PROPERTIES
для использования собственной базы данных. Вам не нужно WRITE_EXTERNAL_STORAGE
либо, если вы не пытаетесь получить доступ к sdcard.
базы данных хранятся по умолчанию в подпапке папки вашего приложения во внутреннем хранилище, т. е.:
/data/data/YOUR_APP/databases/YOUR_DATABASAE.db
Если вы делаете это на физическом устройстве он должен быть укоренен хотя.
У меня была точно такая же проблема. Мое приложение будет создать БД на эмуляторе, читать и записывать данные, но он разбился, когда на устройстве.
Я нашел очень простое решение: удалите базу данных на вашем устройстве вручную в /data/data/YOUR_APP/databases / YOUR_DATABASAE.db, а затем повторно запустите приложение.
работал в моем случае, надеюсь, это поможет.
это очень легко решить, вы, должно быть, не добавили .расширение db в имени базы данных, объявленном в файле db java
Например, public static final String DB_NAME = "tasks.db";
НЕ ЗАБУДЬТЕ .расширение БД
возможно, у вас есть эта проблема, потому что у вас есть версия prevoius вашего приложения, установленного на вашем телефоне. Перед установкой новой версии удалить предыдущую с помощью "диспетчера приложений". Я решаю таким образом.
сначала я проверяю разрешения и время выполнения получить разрешение, но так как targetSdkVersion был 25, проблема не была решена, работа с БД без использования расширения .БД всегда была хорошей и работала, но ее внешний вид, что targetSdkVersion 25 нуждается в расширении .децибел и моя проблема решена.