私はアンドロイドアプリを開発中です。 私はそれにいくつかの活動をしています。そして、私はすべての活動から利用可能なオブジェクトを持っていなければなりません。 どのようにそれを整理するためのアイデア?アンドロイドアプリのグローバルオブジェクト
答えて
は、次のようにグローバルApplication
オブジェクトを使用し
App globalApp = (App) getApplicationContext();
App
クラスがなりますアプリケーションの起動時に自動的にインスタンス化されます。申請プロセスが生存している限り利用可能になります。これは、あなたが物事を置くことができ、アプリケーションライフタイムを通じてそれらにアクセスできるグローバルストアとして機能することができます。
これにいくつかのタイプミスがあるような気がしますが、修正すべきものはわかりません!:) –
修正されたタイプミス。私が何かを見逃している場合は、お気軽にコメントしてください。 –
あなたの初期クラス定義は 'GolbalObject'ですが、あなたの使い方は' GlobalObject'です。 –
これを行う方法はいくつかあります。共有したいオブジェクトがString(またはStringで簡単に記述されている)の場合は、Shared Preferencesをお勧めします。これは、アプリケーション内でデータを共有するためのキーバリューストアとして機能します。
これが当てはまらない場合(つまり、文字列の適性)は、さまざまなアクティビティを起動するインテントで余分に渡すことを検討できます。例えば:この戦略の詳細については
Intent newActivity = new Intent(CurrentActivity.class, ActivityToLaunch.class);
newActivity.putExtra("object_key", Bundle_With_Your_Object);
(特にバンドルクラスについて、あなたは慣れていない場合)、私はthis Android docを読んでいました。 Activity
からアクセスするには
<application android:name=".App">
:AndroidManifest.xml
で
package com.yourpackagename;
public class App extends Application {
}
:
あなたは、このケースではSharedPreferencesを使用することができます。
SharedPreferences prefs = this.getSharedPreferences("Cusom Name", Activity.MODE_PRIVATE);
prefs.edit().putString("your_key", value).commit();
をクリアするには:
:SharedPreferences prefs = this.getSharedPreferences("Cusom Name", Activity.MODE_PRIVATE);
prefs.edit().clear();
は値を取得するには追加または編集するには
まず、Activityを拡張してグローバルオブジェクトを定義するMasterActivityという名前のクラスを作成します。
public class MasterActivity extends Activity
{
public Object mObject;
}
その後、あなたはそれのようにあなたのMasterActivityであなたのメインの活動のクラスを拡張する必要があります。
// your main activity
public class MainActivity extends MasterActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// you can now use mObject in your main class
mObject.yourmethod();
}
}
このところで、あなたは単にMasterActivityを拡張することにより、すべての活動にあなたのオブジェクトを使用することができるようになりますアクティビティの代わりに
- 1. C#グローバルオブジェクト
- 2. C++グローバルオブジェクト
- 3. グローバルオブジェクトの作成?
- 4. ActionScriptのグローバルオブジェクト
- 5. Python wsgiサーバーのグローバルオブジェクト
- 6. DotVVMのグローバルオブジェクト(マスターページ用)
- 7. JavaScriptのグローバルオブジェクトとウィンドウオブジェクト
- 8. Laravel PHPグローバルオブジェクト
- 9. 静的グローバルオブジェクト
- 10. ReferenceErrorとグローバルオブジェクト
- 11. JavaScriptのグローバルオブジェクトのインスタンス名
- 12. javascript:require()モジュールへのグローバルオブジェクトのリファクタリング
- 13. グローバルオブジェクト対Redis(nodejs)の使用
- 14. Apache C++モジュールの永続グローバルオブジェクト
- 15. C++グローバルオブジェクトの値を失う
- 16. プライベートコンストラクタを持つクラスのグローバルオブジェクト
- 17. グランントでグローバルオブジェクトを作成
- 18. C++ランダムシード、グローバルオブジェクト、およびSDL_Threads
- 19. Firefox addonグローバルオブジェクト対Firebugコンソールグローバルオブジェクト
- 20. グローバルオブジェクトをビューに戻す
- 21. プレイ中のグローバルオブジェクトへのアクセス! Java with
- 22. Nashornのグローバルオブジェクト変数のアクセス/インターセプト
- 23. djangoグローバルオブジェクト個人ユーザーの関係
- 24. 空のグローバルオブジェクトを無視してPhonegap
- 25. 理解グローバルオブジェクトの永続性は、
- 26. 再生! 2.0 Scala - グローバルオブジェクトへのアクセス
- 27. Ruby on Railsサーバー上の定数グローバルオブジェクト
- 28. multiprocessing.Processは、グローバルオブジェクトと関数の引数
- 29. アンドロイドアプリ
- 30. C#でグローバルオブジェクトを作成する方法
「グローバルオブジェクト」とはどういう意味ですか?アプリケーション全体で利用可能なクラスを意味する場合は、このスレッドを見てくださいhttp://androidforums.com/developer-101/124278-global-objects.html – evilone
私の状況では、いくつかのクラスのオブジェクトでなければなりません。すべてのアクティビティで、このオブジェクトのメソッドを使用し、オブジェクトのフィールドにデータを追加する必要があります。 – mmmaaak