android - GetReadableDatabase错误android

标签 android database sqlite

我创建了一个 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());

上下文不能为空

关于android - GetReadableDatabase错误android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4675762/

相关文章:

android - 如何通过检索优先级数据来查询表并在 SQLITE DB 中按顺序排序

python - 为什么我突然得到 "OperationalError: no such table"?

android - OnClickListener 不适用于 fragment

android - Android 中的线性布局和相对布局

android - 在 RecyclerView 中绘制自定义 TextView 路径的最佳实践是什么?

一张表有两个外键的MySQL数据库

mysql - 如何 "inner join"两个网站数据库

java - 将 Java 应用程序连接到 Ruby on Rails SQLite3 数据库

android - 无法在自定义对话框中检索 EditText

database - 什么时候可以将派生数据存储在数据库中?