Java 在Android的onCreate()中从SQLite数据库填充ListView
我创建了活动“A”和“B”。我在活动“A”中插入了一些数据,我想在活动“A”中单击按钮时显示活动“B”中listview中的所有数据。但是,当我运行应用程序时,它会崩溃并出现错误和nullpointerException。请帮助我。提前感谢 这是我的数据库方法代码Java 在Android的onCreate()中从SQLite数据库填充ListView,java,android,android-listview,android-sqlite,Java,Android,Android Listview,Android Sqlite,我创建了活动“A”和“B”。我在活动“A”中插入了一些数据,我想在活动“A”中单击按钮时显示活动“B”中listview中的所有数据。但是,当我运行应用程序时,它会崩溃并出现错误和nullpointerException。请帮助我。提前感谢 这是我的数据库方法代码 public Cursor employeeName(){ ArrayList<Employee> EmployeeNameList = new ArrayList<Employee>(
public Cursor employeeName(){
ArrayList<Employee> EmployeeNameList = new ArrayList<Employee>();
String selectQuery = "SELECT * FROM " + EMPLOYEE_DETAILS_TABLE;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if(cursor.moveToFirst())
{
do{
Employee empName = new Employee();
empName.setName(cursor.getString(1));
empName.setDepartment(cursor.getString(2));
empName.setDesignation(cursor.getString(3));
EmployeeNameList.add(empName);
} while(cursor.moveToNext());
}
return cursor;
}
public List<String> getAllEmployeeName() {
List<String> labels = new ArrayList<String>();
// Select All Query
String selectQuery = "SELECT * FROM " + EMPLOYEE_DETAILS_TABLE;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
labels.add(cursor.getString(1));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return labels;
}
这是我的日志
06-27 15:25:51.498: E/AndroidRuntime(12033): FATAL EXCEPTION: main
06-27 15:25:51.498: E/AndroidRuntime(12033): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.employee_review/com.employee_review.Employee_List}: java.lang.NullPointerException
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.os.Handler.dispatchMessage(Handler.java:99)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.os.Looper.loop(Looper.java:123)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-27 15:25:51.498: E/AndroidRuntime(12033): at java.lang.reflect.Method.invokeNative(Native Method)
06-27 15:25:51.498: E/AndroidRuntime(12033): at java.lang.reflect.Method.invoke(Method.java:507)
06-27 15:25:51.498: E/AndroidRuntime(12033): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-27 15:25:51.498: E/AndroidRuntime(12033): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-27 15:25:51.498: E/AndroidRuntime(12033): at dalvik.system.NativeStart.main(Native Method)
06-27 15:25:51.498: E/AndroidRuntime(12033): Caused by: java.lang.NullPointerException
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
06-27 15:25:51.498: E/AndroidRuntime(12033): at com.employee_review.DatabaseHelper.employeeName(DatabaseHelper.java:129)
06-27 15:25:51.498: E/AndroidRuntime(12033): at com.employee_review.Employee_List.populateListView(Employee_List.java:35)
06-27 15:25:51.498: E/AndroidRuntime(12033): at com.employee_review.Employee_List.onCreate(Employee_List.java:28)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-27 15:25:51.498: E/AndroidRuntime(12033): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
06-27 15:25:51.498: E/AndroidRuntime(12033): ... 11 more
此处传递给数据库帮助器构造函数的
上下文
未初始化:
DatabaseHelper databaseHelper = new DatabaseHelper(context);
将
上下文
替换为例如此
请发布堆栈跟踪并标记错误发生的行@OpiatefuchsCursor=(cursor)databaseHelper.employeeName();为什么不从sqlite显示我的listview呢?请帮助我。
DatabaseHelper databaseHelper = new DatabaseHelper(context);