私はウィジェットを作成しており、そのデータを保存する必要があります。ウィジェットで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. データベースにデータを保存するにはどうすればよいですか?
- 3. データをSilverlightに保存するにはどうすればよいですか?
- 4. Django:ManyToManyFieldにデータを保存するにはどうすればいいですか?
- 5. xhrポーリングを伴う永続データをSocket.IOに保存するにはどうすればよいですか?
- 6. NSUserDefaultsでUIColorを保存するにはどうすればよいですか?
- 7. ASP.NETでセッションデータを保存するにはどうすればよいですか?
- 8. JSONをレディスに保存するにはどうすればよいですか?
- 9. NSUSerDefaultsにMPMediaItemCollectionを保存するにはどうすればよいですか?
- 10. イメージをカメラロールに保存するにはどうすればよいですか?
- 11. iPhoneにplistを保存するにはどうすればよいですか?
- 12. オブジェクトをグローバルに保存するにはどうすればよいですか?
- 13. レーティングをソングに保存するにはどうすればよいですか?
- 14. UIImageをファイルに保存するにはどうすればよいですか?
- 15. キャンバスをイメージオブジェクトに保存するにはどうすればよいですか?
- 16. ドロップダウン値を保存するにはどうすればよいですか
- 17. モードとキーを保存するにはどうすればよいですか?
- 18. テキスト差分を保存するにはどうすればよいですか?
- 19. セッション状態を保存するにはどうすればよいですか?
- 20. この外部データをSharePointに保存するにはどうすればよいですか?
- 21. 複数のモデルをRデータ構造に保存するにはどうすればよいですか?
- 22. Facebookユーザーのアカウントにデータを保存するにはどうすればよいですか?
- 23. UIView間に単にURLデータを保存するにはどうすればよいですか?
- 24. VC++を使用してExcelファイルにデータを保存するにはどうすればよいですか?
- 25. Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
- 26. Androidサービスからデータを保存するにはどうすればよいですか?
- 27. アンドロイドにアプリケーションをアンインストールするまでデータを保存するにはどうすればいいですか?
- 28. Powershellで文字列を生データとして保存するにはどうすればよいですか?
- 29. 中間データを保存してSQLクエリ間で共有するにはどうすればよいですか?
- 30. フォーム投稿後にViewBagデータを保存するにはどうすればよいですか?