我的應用程序是一個小問題的應用程序,我從數據庫中獲得問題。這個應用程序中還有一些主題,我想通過在數據庫中設置一個專門用於保存與問題所屬類別相對應的值的方法來實現此目的。我試過導入一個布爾值arraylist的靜態arraylist。然後我想遍歷它們來創建基於值是否爲真的數組(我的應用程序允許多個類別被選中)。問題是將它(創建的arraylist控制主題)合併到我的查詢語句中。我猜這個目標是類似於-if第二列包含這些值然後將它們添加到查詢中的 - 我認爲這可能是兒童玩的直接SQL原始查詢語句,但tbh看起來令人望而生畏,所以我只能讓自己感到舒服與Android的替代。基於字符串數組在數據庫中選擇特定的行
public Cursor getQuestions() {
List<String> topicsList = new ArrayList<String>(39);
for(int i = 0; i < child_check_states.size(); i++) {
for(int j = 0; j < child_check_states.get(i).size(); j++) {
if (child_check_states.get(i).get(j) == true) {
topicsList.add(i+""+j+"");
}
}
}
Log.d("test", topicsList.toString());
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(DB_NAME, null, null, null, null, null, "random()");
return cursor;
}
這是無關緊要的問題,不需要回答,但是對於像這樣的隨機化行,可能存在性能問題嗎?我相信我讀過一次更好的實現方法,使用兩個遊標來實現這一點。我的應用程序只有4行進行測試,所以我沒有注意到任何東西,但最終我想有數千個。也許成千上萬。
我猜你想過濾來自數據庫的問題,只有從大類問題由用戶選擇?如果是的話,你如何存儲這些類別(它是標題中的字符串數組資源?)? – Luksprog
答案是肯定的。我將那些類別存儲在那個數組列表中:列表 topicsList。我很抱歉,如果不清楚,我想在需要的時候使用.toArray方法。 –
mango