Android中SQLite构造函数参数Context的几点谨慎事项
发布时间:2021-12-13 17:44:49 所属栏目:教程 来源:互联网
导读:最近在写一个Android的程序,用到了SQLite数据库,在主项目中刚开始使用sqlite之前,我先在单独的一个项目中测试了一下SQLite的使用,只有一个Activity,一个SQLiteHelper,使用的时候好好的,当我在主项目中使用的时候就报错了,总是空指针错误,纠结了几天
|
最近在写一个Android的程序,用到了SQLite数据库,在主项目中刚开始使用sqlite之前,我先在单独的一个项目中测试了一下SQLite的使用,只有一个Activity,一个SQLiteHelper,使用的时候好好的,当我在主项目中使用的时候就报错了,总是空指针错误,纠结了几天之后终于搞定了,现在我写出来,希望能帮到遇到同样问题的朋友们! 我的测试项目: 结构图: DBHleper类代码: package com.avin.android; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class DBHelper extends SQLiteOpenHelper { public static final int VERSION = 1; /** * 作为SQLiteOpenHelper子类必须有的构造方法 * @param context * @param name 数据库名字 * @param factory * @param version */ public DBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); Log.d("Avin","this is dbhelper 4 elements"); // TODO Auto-generated constructor stub } public DBHelper(Context context,String name, int version){ this(context,name,null,version); Log.d("Avin","this is dbhelper 3 elements"); } public DBHelper(Context context,String name){ this(context,name,VERSION); Log.d("Avin","this is dbhelper 2 elements"); } @Override /** * 第一次创建数据库的时候调用,而且是得到readableDatabase或者writeDatabase时才执行 */ public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL("create table floats(id integer primary key autoincrement ,flt_cand text not null ,flt_key text)"); Log.d("Avin","floats created..."); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } } ![]() (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |



浙公网安备 33038102330466号