私はウィジェットを作成しており、そのデータを保存する必要があります。ウィジェットで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 DBの場合も同様です。
0
これらの通常のウィジェットメソッドにはコンテキストが含まれていますが、それらのコンテキストが変更されるとどうなりますか? たとえば、あるアプリがonReceiveでウィジェットを聴くアクションを呼び出し、そのコンテキストでデータを保存すると、他のアプリケーションのアクションでそれを読み取ることができますか? - 他の文脈。
アプリケーションをオーバーライドして取得するとどうなりますか? - アクティビティは動作しているが、ウィジェットについてはわからない!
関連する問題
- 1. GWTウィジェットに任意のデータを保存するにはどうすればよいですか?
- 2. データをSilverlightに保存するにはどうすればよいですか?
- 3. データベースにデータを保存するにはどうすればよいですか?
- 4. Androidにデータを保存するにはどうすればよいですか?
- 5. Django:ManyToManyFieldにデータを保存するにはどうすればいいですか?
- 6. エクスプレスサーバにデータを保存するにはどうすればいいですか?
- 7. RxJSに保存されているデータを変更するにはどうすればよいですか?
- 8. ウェブベースではないアプリケーションにデータを保存するにはどうすればよいですか?
- 9. データを一時的に保存するにはどうすればよいですか?アンドロイドアプリのショッピングカートなど
- 10. このファイルを保存するにはどうすればよいですか?
- 11. ダブルネストフォームでフォームを保存するにはどうすればよいですか?
- 12. NSUserDefaultsでUIColorを保存するにはどうすればよいですか?
- 13. ASP.NETでセッションデータを保存するにはどうすればよいですか?
- 14. イメージをカメラロールに保存するにはどうすればよいですか?
- 15. ファイルをfastcoloredtextboxに保存するにはどうすればよいですか?
- 16. オブジェクトをグローバルに保存するにはどうすればよいですか?
- 17. イメージをレルムデータベースに保存するにはどうすればよいですか?
- 18. レーティングをソングに保存するにはどうすればよいですか?
- 19. スタティックデータをLaravelに保存するにはどうすればよいですか?
- 20. iPhoneにplistを保存するにはどうすればよいですか?
- 21. JSONをレディスに保存するにはどうすればよいですか?
- 22. キャンバスをイメージオブジェクトに保存するにはどうすればよいですか?
- 23. UIImageをファイルに保存するにはどうすればよいですか?
- 24. NSUSerDefaultsにMPMediaItemCollectionを保存するにはどうすればよいですか?
- 25. イメージをJSONに保存するにはどうすればよいですか?
- 26. memcacheに保存されたデータストア内のデータを更新するにはどうすればよいですか?
- 27. xhrポーリングを伴う永続データをSocket.IOに保存するにはどうすればよいですか?
- 28. foreach入力フィールドからcodeigniterのmysqlにデータを保存するにはどうすればよいですか?
- 29. データを保存するために関数を修正するにはどうすればよいですか?
- 30. バックエンドスクリプトにデータを保存し、クロムエクステンションのコンテンツスクリプトで使用するにはどうすればよいですか?