简体   繁体   English

SQLiteAssetHelper扩展返回null

[英]SQLiteAssetHelper extension returns null

I'm getting a NullPointerException from my DatabaseHandler. 我从DatabaseHandler收到了NullPointerException。

Here is my DatabaseHandler: 这是我的DatabaseHandler:

public class DatabaseHandler extends SQLiteAssetHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "carsGrid",
            TABLE_CARS = "cars ",
            KEY_ID = "id",
            KEY_POSTCODE = "postcode",
            KEY_ADDRESS = "address",
            KEY_IMAGE = "image";


        public DatabaseHandler(Context context) {
            //super(context, DATABASE_NAME, null, DATABASE_VERSION);
            super(context, DATABASE_NAME, context.getExternalFilesDir(null).getAbsolutePath(), null, DATABASE_VERSION);
         }
}

MyActivity.java: MyActivity.java:

Line which is reporting error: 报告错误的行:

  // Initiate Database
            DatabaseHandler db = new DatabaseHandler(this); // "this" refer to the context

I have a feeling it's the context causing issues, but I'm not sure what the context should be. 我感觉这是导致问题的上下文,但是我不确定上下文应该是什么。 I have just changed from SQLiteOpenHelper 我刚从SQLiteOpenHelper更改

Previous line with error: 上一行有错误:

public DatabaseHandler(Context context) {
    //super(context, DATABASE_NAME, null, DATABASE_VERSION);
    super(context, DATABASE_NAME, context.getExternalFilesDir(null).getAbsolutePath(), null, DATABASE_VERSION);
 }

Try this way in your Activity 在您的Activity尝试这种方式

 DatabaseHandler db = new DatabaseHandler(getApplicationContext()); 

or 要么

 DatabaseHandler db = new DatabaseHandler(YourActivity.this); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM