Java 无法启动活动ComponentInfo-插入SQLite
我在将SQLite with Helper插入到项目中时遇到问题。 出现错误:无法启动活动组件信息:Java nullpointer异常。 我花了几天时间搜索一个问题来解决这个问题,但我不能 以下是主要活动的代码:Java 无法启动活动ComponentInfo-插入SQLite,java,android,sqlite,Java,Android,Sqlite,我在将SQLite with Helper插入到项目中时遇到问题。 出现错误:无法启动活动组件信息:Java nullpointer异常。 我花了几天时间搜索一个问题来解决这个问题,但我不能 以下是主要活动的代码: private Database myDBAdapter; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont
private Database myDBAdapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDBAdapter.open();
//TODO Any database operations
myDBAdapter.close();
和数据库类:
public Database(Context _context){
context = _context;
DatabaseHelper = new DatabaseHelper(_context, DB_NAME, null, DB_Version, null);
}
public Database open(){
db = DatabaseHelper.getWritableDatabase();
return this;
}
public void close(){
db.close();
}
}
您从未实例化myDBAdapter对象,因此NPE位于myDBAdapter.open;行
哇,亲切的提示:非常感谢:@Algeroth声明和初始化是两件不同的事情。您应该阅读以下内容:
private Database myDBAdapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDBAdapter = new Database(this).open();
myDBAdapter.close();