我剛用MatrixCursor
來解決確切的問題。看看它。
編輯:對不起,我剛剛掃描了問題,當我回答它。 ContentProvider
是應用程序共享數據的唯一方式。對於較小的數據,應用程序中的活動可以使用SharedPreferences
,並增加持久性。
編輯v2:以下是我用於爲我的ContentProvider的查詢函數填充MatrixCursor的函數。我使用的是我創建的預定義VIEW,它返回一組不同的值,並設置一個帶有_ids的遊標,我可以將其傳遞給我的ExpandableListView。
private Cursor getFactions() {
MatrixCursor mc = new MatrixCursor(Model.Faction.PROJECTION);
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor c = db.query(MODELFACTION_TABLE_NAME, new String[] { Model.Faction.FACTION }, null, null, null, null, Model.Faction.FACTION + " ASC");
c.moveToFirst();
do {
mc.addRow(new Object[] { c.getPosition(), c.getString(c.getColumnIndex(Model.Faction.FACTION))});
} while (c.moveToNext() && ! c.isAfterLast());
c.close();
db.close();
return mc;
}
嗯,我需要,所以我想我需要ContentProviders應用程序之間共享數據。由於存儲對象的能力,MatrixCursor看上去很有希望,但我認爲MatrixCursor需要某個數據庫支持。 – 2011-04-10 04:26:05
完全沒有!我剛剛創建了MatrixCursor,並添加了這些元素。沒有分貝需要。當你實例化一個MatrixCursor時,你提供一個String []字段名或列名,然後只需添加數據集或行。你從哪裏得到這些數據完全取決於你。 – 2011-04-10 05:28:06
使用下面的標準文件輸入/輸出的矩陣光標結束。然後使用ContentResolver.query()讀取信息並將其存儲在遊標中。謝謝您的幫助! – 2011-04-14 20:38:14