我正在創建一個小部件,我需要爲它存儲一些數據。我沒有與小部件Activity
,所以我不能利用SharedPreferences
。我存儲的數據非常少,但頻繁訪問,因此使用數據庫將會過度。我曾想過使用簡單的文件,但這似乎不是一個好的解決方案。有什麼方法可以存儲小部件的簡單數據嗎?如何存儲小部件的數據?
4
A
回答
3
您不需要Activity
來存儲首選項,只需Context
。在您的班級中,延伸AppWidgetProvider
,您應該收到所有相關方法的上下文,如onUpdate
和onDeleted
。
然後可以使用PreferenceManager
獲得優先對象,並保存您在它需要的東西,比如這個:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds)
{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String value = prefs.getString("key-string", null);
if(value != null)
{
// do stuff
}
}
作爲一個側面說明,你提到,你考慮過使用的文件,但不希望出於性能原因。 SharedPreferences
對象實際上最終使用簡單的文件,它們只是由Android爲您管理。如果您要經常訪問它,您仍然需要注意性能。對於SQLite數據庫也是如此,因爲這些文件也只是文件。
0
那些常規的Widget方法包含上下文是真實的,但如果這些上下文改變呢? 對於例如一個應用程序調用一個動作,該動作使用onReceive監聽小部件,並使用該上下文保存數據,並可以通過其他應用程序動作讀取它。 - 其他上下文。
如果將覆蓋應用程序並得到它會怎麼樣? - 活動作品,不確定小部件!
相關問題
- 1. wordpress小部件數據不存儲
- 2. Android應用小部件:數據存儲
- 3. 如何在GWT小部件中存儲任意數據?
- 4. 創建裁剪圖像字段 - 如何存儲小部件的數據?
- 5. hstore如何在內部存儲數據?
- 6. 如何存儲大部分空數據?
- 7. Neo4j如何在內部存儲數據?
- 8. 如何用小數存儲小數?
- 9. 在移動(JIL/W3C)小部件中存儲數據
- 10. 從iOS8小部件訪問Dropbox數據存儲
- 11. Android:如何在內部存儲器上存儲數據?
- 12. 如何在jquery-ui小部件中存儲內部屬性?
- 13. 如何將yii小部件的內容保存到數據庫?
- 14. Cassandra數據存儲大小
- 15. 在外部存儲數據
- 16. 如何將數據庫從內部存儲備份到外部(共享)存儲
- 17. 如何讓插件存儲數據
- 18. 如何存儲壓縮文件數據
- 19. 如何獲取dojo數據存儲的項目數量(大小)?
- 20. 數據庫如何在B-Tree/B + Tree內部存儲數據
- 21. 如何將用戶數據存儲在外部數據庫中
- 22. 圖形數據庫如何在內部存儲其數據?
- 23. 存儲小部件在字典中
- 24. 如何存儲MongoDB數據
- 25. Bukkit如何存儲數據
- 26. redis如何存儲數據
- 27. 如何存儲Json數據
- 28. HDR數據如何存儲?
- 29. MySQL如何存儲數據
- 30. 如何保存小部件的配置