android的数据库帮助类getWritableDatabase,空指针错误
DBHelp
public class DbHelper extends SQLiteOpenHelper {
private final static String DB_NAME = "HKC";
public DbHelper(Context context) {
super(context, DB_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建了一个名为person的表
String sql = "CREATE TABLE product_info(_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"iccid varchar(10)," +
"name varchar(50)," +
"directions varchar(100)," +
"type varchar(1)," +
"price varchar(10)," +
"old_price varchar(10))";
db.execSQL(sql);
Log.d("SQLiteDatabaseTest", sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
MainActivity 代码
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
DbHelper dbHelper=new DbHelper(this);
SQLiteDatabase db=dbHelper.getWritableDatabase();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.insert:
break;
case R.id.select:
break;
}
}
}
异常
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase android.content.Context.openOrCreateDatabase(java.lang.String, int, android.database.sqlite.SQLiteDatabase$CursorFactory, android.database.DatabaseErrorHandler)' on a null object reference
...全文
相关推荐
android连接数据库实例
在Android应用中,我们通常将数据库操作封装到DAO(数据访问对象)类中,以便于在业务逻辑中调用。
安卓SQLite数据库相关-android读取本地.db文件实现不变数据本地化.rar
本教程将围绕“安卓SQLite数据库相关-android读取本地.db文件实现不变数据本地化”这一主题,探讨如何在Android应用中读取和使用本地SQLite数据库文件,以实现数据的本地化存储。
安卓Android源码——操作数据库实例.zip
在安卓(Android)平台上,开发过程中常常需要对数据进行存储,这时我们通常会用到SQLite数据库。
Android中getWritableDatabase()和getReadableDatabase()的区别
为了高效地进行数据管理,Android提供了一系列API来帮助开发者处理数据库的相关事务。
将Excel数据导入android数据库DB文件
**打开SQLite Expert Professional**: 启动软件,选择"Open Database",然后找到你的Android应用中的.db文件。


