I am getting following exception while trying to load my Database file in android:

```
E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.jk.sqlite_test, PID: 32660
              java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.jk.sqlite_test/com.example.jk.sqlite_test.MainActivity}: com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/Data.db file (or .zip, .gz archive) in assets, or target folder not writable
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2493)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2576)
                  at android.app.ActivityThread.access$1000(ActivityThread.java:155)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:148)
                  at android.app.ActivityThread.main(ActivityThread.java:5539)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
               Caused by: com.readystatesoftware.sqliteasset.SQLiteAssetHelper$SQLiteAssetException: Missing databases/Data.db file (or .zip, .gz archive) in assets, or target folder not writable
                  at android.content.res.AssetManager.openAsset(Native Method)
                  at android.content.res.AssetManager.open(AssetManager.java:313)
                  at android.content.res.AssetManager.open(AssetManager.java:287)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.copyDatabaseFromAssets(SQLiteAssetHelper.java:436)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.createOrOpenDatabase(SQLiteAssetHelper.java:400)
                  at com.readystatesoftware.sqliteasset.SQLiteAssetHelper.getWritableDatabase(SQLiteAssetHelper.java:176)
                  at com.example.jk.sqlite_test.DatabaseAccess.open(DatabaseAccess.java:28)
                  at com.example.jk.sqlite_test.MainActivity.onCreate(MainActivity.java:25)
                  at android.app.Activity.performCreate(Activity.java:6289)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2446)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2576) 
                  at android.app.ActivityThread.access$1000(ActivityThread.java:155) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1421) 
                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                  at android.os.Looper.loop(Looper.java:148) 
                  at android.app.ActivityThread.main(ActivityThread.java:5539) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
D/AppTracker: App Event: crash

```

Here are my codes : 

```
package com.example.jk.sqlite_test;

import android.content.Context;
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

public class DatabaseOpenHelper extends SQLiteAssetHelper {

    private static final String DATABASE_NAME = "Data.db";
    private static final int DATABASE_VERSION = 3;

     public DatabaseOpenHelper(Context context) {
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
}

```

And , 

```
package com.example.jk.sqlite_test;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

public class DatabaseAccess {

    private SQLiteOpenHelper openHelper;
    private SQLiteDatabase database;
    private static DatabaseAccess instance;

    private DatabaseAccess(Context context) {
        this.openHelper = new DatabaseOpenHelper(context);
    }

    public static DatabaseAccess getInstance(Context context) {
        if (instance == null) {
            instance = new DatabaseAccess(context);
        }
        return instance;
    }   

    public void open() {
        this.database = openHelper.getWritableDatabase();
    }

    public void close() {
        if (database != null) {
            this.database.close();
        }
    }

    public String getAll()
    { 
         String str = "";

         Cursor cursor = database.rawQuery("SELECT * FROM pdata" , null);

         cursor.moveToFirst();

        while(!cursor.isAfterLast())
        {
             str += cursor.getString(1) + "\t" + cursor.getString(2) + "\t" + cursor.getString(3) + "\n";
        }
        return str;
    }
}

```

I guess I am using SQLite 3 Database so I kept the version as 3.

After creating the database file in SQLite Studio, I am not getting any file extension to the Database file so I kept the extension as db, as suggested in many answers to the questions of the same type. 

I also tried using different version values and extensions like .sqlite/.sqlite3 but it didn't solve the issue.

Please Help !
Thank you.