У меня реальная проблема с созданием приложения для Android с предварительно заполненной базой данных.
Пожалуйста, взгляните на весь исходный код .
Я создал базу данных, используя sqlitebrowser, и скопировал ее в каталог «assets» в моем приложении Android.
Я добавил код копирования базы данных из каталога ресурсов в класс Java DBAdapter.java
В MainActivity.java
я вызвал функцию createDatabase
, поэтому, если база данных не существует, она должна скопировать базу данных из каталога активов. После создания базы данных я вызываю функцию getAllContacts
и отображаю ее на странице.
Всякий раз, когда я выполняю проект, он выдает ошибку, которую я не могу отладить.
Может кто-нибудь помочь мне решить проблему?
UPDATE:
Logcat показывает следующее исключение. Кажется, таблица "контактов" в assets / MyDB.db не скопирована / не создана, но я не знаю почему.
E/AndroidRuntime( 672): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.me.mydb/org.me.mydb.MainActivity}: android.database.sqlite.SQLiteException: no such table: contacts: , while compiling: SELECT _id, name, email FROM contacts
E/AndroidRuntime( 672): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
E/AndroidRuntime( 672): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
E/AndroidRuntime( 672): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
E/AndroidRuntime( 672): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
E/AndroidRuntime( 672): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 672): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 672): at android.app.ActivityThread.main(ActivityThread.java:4627)