オブジェクトを同じアプリケーションのさまざまなアクティビティでアクセスできる場所に保存する方法はありますか?オブジェクトをシリアライズしたりパーセルする必要はありませんか?Androidデータをアプリケーションに保存
答えて
SharedPreferences
です。これをアクティビティに入れます
public void saveSetting(String settingName, String value){
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
Editor ed = pref.edit();
ed.putString(settingName, value);
ed.commit();
}
SharedPreferenceは、SharedPreferencesがサポートするオブジェクトにのみ適しています。 オブジェクトの長期保存のためには、何らかの並べ替えられたルートを辿る必要があります。私はData Storage page in the docsを読んでいると思います。そこから私はInternal Storageについて読むことをお勧めします。 Javaのserializbleインターフェイスに対処したくない場合は、XStreamをチェックアウトすることをお勧めします。
XStreamと内部ストレージを組み合わせると、必要なソリューションが提供される場合があります。
シリアライゼーション、データベースなどを使用せずにグローバルアプリケーション状態を維持する永続性のポイントを探している場合は、ServiceまたはApplicationクラスを使用します。この問題に関する一般的なヒントはandroid developersです。
オブジェクト間でオブジェクトを渡す最も良い方法は、おそらくApplication
を拡張するクラス内の静的フィールドを使用するか、サービスを使用し、オブジェクトをバインドする必要があるアクティビティをバインドすることです。
しかし、Activities
では静的フィールドを使用することに注意してください。これらのフィールドはいつでも破壊される可能性があり、したがってスレッドセーフではなく、悲惨な可能性があります。
SharedPreferencesを使用するか、シングルトンクラスを作成できます。私はシングルトンクラスを使用して属性のライフサイクルを制御しました。永続性を保証するには、sqllite dbにデータを格納します。
シングルトンを使用すると、カスタムオブジェクトを格納できます。
public class MySingleton {
private static final AlphResourceSet INSTANCE = new MySingleton();
private MySingleton() {}
public static MySingleton getInstance() {
return INSTANCE;
}
// all your getters/setters for your variables
}
- 1. Androidスタジオデータベースにデータを保存
- 2. データをクラウドにAndroidアプリケーションのテーブル形式で保存する
- 3. Androidアプリでデータを保存
- 4. IonicアプリケーションでLocalStorageにデータを保存
- 5. Androidデータ(テキスト+画像)保存
- 6. Androidアカウントマネージャーに追加データを保存
- 7. Android - データを自分のデータサーバーに保存
- 8. Android:データをonSavedInstanceに保存する
- 9. アプリケーションで画像を保存する - android
- 10. オーディオファイルを保存するAndroidアプリケーションのアプリケーションパス
- 11. C#アプリケーションのデータを保存する
- 12. Androidボタンのデータを保存する
- 13. androidのデータを保存する場所
- 14. Androidのプレーヤーのデータを保存する
- 15. AndroidのLogCatのデータを保存
- 16. アプリケーションを開かずにアプリケーションインストール時にデバイスにデータを保存
- 17. アプリケーションにパスワードを保存
- 18. iOSアプリケーションにデータを保存するのに最適な選択
- 19. ノードCLIアプリケーションに安全にデータを保存する
- 20. 私のアプリケーションにデータを保存するには
- 21. 内部ストレージにデータを保存する(アプリケーションをアンインストールしても)
- 22. 画像をAzure SQLデータベースにAndroidアプリケーションで保存
- 23. データベースをAndroidアプリケーションの外部サーバに保存します
- 24. Androidアプリケーションにリアルタイムデータを保存して後でアクセスする
- 25. androidアプリケーションからGoogleクラウドストレージにファイルを保存しますか?
- 26. オンラインサービスのユーザーデータをAndroidアプリケーションの「オフライン表示」に保存する
- 27. Android:サービス停止時にデータを安全に保存する
- 28. Android Studio webviewにローカルにデータを保存する方法
- 29. Androidマップアプリケーションにマーカーを保存
- 30. ローテーションにAndroid値を保存
自分で作成したオブジェクトを渡したいと思っています。私が見ている限り、SharedPreferencesはbuildin型でのみ動作します。 – Christian
これをJSONObjectを使用してstringにシリアル化します。 – Aliostad
アリオスターは真実を語る。箇条書きにしてオブジェクトをシリアライズします。データを保存するには、これを行う必要があります。 –