微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GetReadableDatabase错误android

我创建了一个DBTest类sqliteOpenHelper

然后我从我的主UI中调用了它.

当我点击DB.GetReadableDatabase()时它崩溃并且日志没有帮助,只是说空指针,但我不知道在哪里看.

如果我使用,一切都有效

sqliteDatabase.openDatabase(myPath, null, sqliteDatabase.OPEN_READONLY);

相同的数据库

这是助手的类,低于错误

   public class DBTest extends sqliteOpenHelper {

            private static String DB_NAME = "DB";

            private sqliteDatabase myDataBase; 

            private final Context myContext;

            public DBTest(Context context) {

                super(context,   DB_NAME, null, 1);
                this.myContext = context;
            }

            @Override
            public void onCreate(sqliteDatabase db) {
                // Todo Auto-generated method stub

            }

            @Override
            public void onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {
                // Todo Auto-generated method stub

            }
    }

以下是错误发生的位置:

public class Main extends Activity 
{

    DataBaseHelper db = new DataBaseHelper(null);
    static sqliteDatabase Db;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        sqliteDatabase Db;

        DBTest db1 = new DBTest(null);

        Db = db1.getReadableDatabase(); <<<  blow up here


        }
}

解决方法:

DBTest db1 = new DBTest(this.getApplicationContext());

上下文不能为null

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐