我一直在試圖從一個名爲的工作站的數據庫中檢索一些數據,然後將它存儲到數據庫列表視圖中。當我打電話給這個活動的應用程序停止。如何使用rawQuery()將數據存儲到字符串數組中?
繼承人的代碼:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
SQLiteDatabase db = openOrCreateDatabase("Station.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
Cursor data_fetch = db.rawQuery("Select * From Station", null);
String[] station_array = new String[data_fetch.getCount()];
int i = 0;
while(data_fetch.moveToNext()){
String uname = data_fetch.getString(data_fetch.getColumnIndex("Station_name"));
station_array[i] = uname;
i++;
}
ArrayAdapter station_adapter = new ArrayAdapter<String>(this,R.layout.activity_list_view,station_array);
ListView station_listView = (ListView) findViewById(R.id.station_list);
station_listView.setAdapter(station_adapter);
}
應用程序的工作原理,當我註釋掉
Cursor data_fetch = db.rawQuery("Select * From Station", null);
這使我相信,這條線是一個導致應用程序崩潰,但我無法找到任何問題。
請注意,我已經在之前的活動中創建並將數據插入數據庫站。 任何提示將不勝感激。謝謝你提前。 PS:我是一個新手,所以請讓我知道,如果有什麼其他的重要性,我省略了!
如果您已經在以前的活動創造並插入數據到數據庫站,那麼你爲什麼再次打開或創建它?爲數據庫打開或創建以及其他所有內容創建分離類。你只需要創建該類的對象。請參閱此鏈接:: https://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ – zephyr
我認爲變量數據庫是你如何與數據庫交互我的不好。 –
並且還更改您的代碼以獲取所有數據:Cursor data_fetch = db.rawQuery(「Select * From Station」,null); (data_fetch.moveToFirst()){0} {0} {0} (data_fetch.moveToNext()); //「email」==表中的列名稱 } while(data_fetch.moveToNext()); } – zephyr