Вопрос по import, database, android, java, sqlite – импортировать внешние БД в приложение и использовать его в Android

2

Я новичок в разработке Android. Теперь я пытаюсь использовать sqlite DB. Я создал файл базы данных sqlite, используя менеджер sqlite. Я импортировал его в проект с помощью / data / data / packagename / dbname, он отлично работает в эмуляторе, но если я взял релиз на устройстве, приложение вылетает, я не знал, что происходит и почему это происходит. Какие-либо предложения для этого?

ты получаешь ошибку? MAC
Можете ли вы дать отчет о сбое Srivathsan
У меня был файл базы данных в папке Assets. Я не знал, как его использовать или перенести в каталог данных. но он хорошо работает с эмулятором. Есть ли учебник по переносу БД в каталог данных и доступ к нему. Пожалуйста, помните, я уже создал файл базы данных, и я должен использовать только этот, а не новый. Azik Abdullah
Разместите код, показывающий, как вы переносите его из Assets в каталог данных, а также logcat, показывающий ошибку. Barak

Ваш Ответ

4   ответа
2

это будет очень полезно, если вы используете свою собственную базу данных в Android.

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

В этом уроке вы должны поместить свою базу данных в папку ресурсов вашего проекта, и база данных будет автоматически перенесена в папку базы данных вашего устройства.

этот учебник подойдет, но при первом доступе к таблицам произошел сбой приложения
4

уете его в свой проект, это не означает, что он будет доступен на всех устройствах после этого (при условии, что вы использовали DDMS для этого). Это означает, что БД доступна только для этого конкретного эмулятора. Перейдите по ссылке ниже, чтобы узнать, как добавить внешнюю БД в ваше приложение.

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

2

Увидетьhttps://github.com/jgilfelt/android-sqlite-asset-helper для вспомогательной библиотеки, чтобы позаботиться об этом.

(Я не использовал эту библиотеку лично, но вчера натолкнулся на нее, когда искал что-то еще. Хотя, похоже, она делает то, что вам нужно).

3
private void StoreDatabase() {
     File DbFile=new File("data/data/packagename/DBName.sqlite");
     if(DbFile.exists())
     {
         System.out.println("file already exist ,No need to Create");
     }
     else
     {
         try 
         {
             DbFile.createNewFile();
             System.out.println("File Created successfully");
             InputStream is = this.getAssets().open("DBName.sqlite");
             FileOutputStream fos = new FileOutputStream(DbFile);
             byte[] buffer = new byte[1024];
                int length=0;
                while ((length = is.read(buffer))>0)
                {
                fos.write(buffer, 0, length);
                }
             System.out.println("File succesfully placed on sdcard");
                //Close the streams
                fos.flush();
                fos.close();
                is.close();
         }
         catch (IOException e)
         {
             e.printStackTrace();
         }
   }    
    }
@ Krishnakant Dalal вышеприведенный код отлично работает в эмуляторе, но не в устройстве. что может быть причиной этого Azik Abdullah
У меня была база данных в папке активов. Но как реализовать эту базу данных в моем приложении. Пожалуйста, кто-нибудь решить мою проблему Azik Abdullah
Этот код для того же просто замените packagename и DBName.sqlite на ваш файл.
как использовать внешнюю базу данных, помогите мне Azik Abdullah

Похожие вопросы