unable to copy database using SQLiteAssetHelper class

前端 未结 4 1124
野趣味
野趣味 2021-01-07 06:00

I am extending SQLiteAssetHelper class to use my pre-populated database from assets folder but my app crashed and gave an error saying Caused by: android.

相关标签:
4条回答
  • 2021-01-07 06:19

    Right click on your database file in the Package Explorer,

    & click on the Properties.

    inside the Resource Tab make sure the "Write" Permission is Checked for the "Owner" and "Read" Permission is Checked for all the "Users".

    0 讨论(0)
    1. Error: "Missing databases/EDMTQuiz2019.db file".
    2. Cause: my folder was not named properly... It was assets/database, Instead of assets/databases
    3. Solution: I solved mine by refactoring/renaming the folder "database" to "databases"
    4. Summary: the new right path is assets/databases (the .db file is in the database folder)
    0 讨论(0)
  • 2021-01-07 06:30

    Missing databases/mydb.sqlite file (or .zip, .gz archive) in assets, or target folder not writable

    Do you have the database file in your assets/databases folder?

    no, in assets folder only

    SQLiteAssetHelper expects to find the prepopulated database file in databases folder under assets.

    0 讨论(0)
  • 2021-01-07 06:31

    Make sure you have the db file under assets\databases folder in your app, in the main folder.

    Also make sure you have specified the correct database name, so if your file name is data.db, your database name should be data.db.

    public class MyHelperDatabase extends com.readystatesoftware.sqliteasset.SQLiteAssetHelper {
    
        private static final String DATABASE_NAME = "data.db";
    

    Or if you are using Room:

    public abstract class AppDatabase extends RoomDatabase {
    
        private static AppDatabase INSTANCE;
    
        @VisibleForTesting
        public static final String DATABASE_NAME = "data.db";
    
    0 讨论(0)
提交回复
热议问题