他のクラスまたはアクティビティの変数またはオブジェクトにアクセスするには、いくつかの方法があります。
A. データベース
B. 共有設定。
C. オブジェクトのシリアル化。
D. 共通データを保持できるクラスは、依存する共通ユーティリティとして名前を付けることができます。
E. Intents と Parcelable Interface を介してデータを渡す。
プロジェクトのニーズによって異なります。
A.データベース
SQLite は、Android に組み込まれているオープン ソース データベースです。SQLite は、SQL 構文、トランザクション、準備済みステートメントなどの標準的なリレーショナル データベース機能をサポートしています。
チュートリアル -- http://www.vogella.com/articles/AndroidSQLite/article.html
B.共有設定
ユーザー名を保存するとします。そのため、キーユーザー名、値、値の 2 つが存在することになります。
保管方法
// Create object of SharedPreferences.
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
//now get Editor
SharedPreferences.Editor editor = sharedPref.edit();
//put your value
editor.putString("userName", "stackoverlow");
//commits your edits
editor.commit();
putString()、putBoolean()、putInt()、putFloat()、putLong() を使用して、目的の dtatype を保存できます。
取得方法
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
String userName = sharedPref.getString("userName", "Not Available");
http://developer.android.com/reference/android/content/SharedPreferences.html
C.オブジェクトのシリアル化
オブジェクトの状態を保存してネットワーク経由で送信したい場合、または目的に合わせて使用する場合は、オブジェクトのシリアル化を使用します。
Java Bean を使用してフィールドの 1 つとして格納し、そのためにゲッターとセッターを使用します。
JavaBeans は、プロパティを持つ Java クラスです。プロパティはプライベート インスタンス変数と考えてください。これらはプライベートであるため、クラスの外部からアクセスできる唯一の方法は、クラス内のメソッドを使用することです。プロパティの値を変更するメソッドはセッター メソッドと呼ばれ、プロパティの値を取得するメソッドはゲッター メソッドと呼ばれます。
public class VariableStorage implements Serializable {
private String inString ;
public String getInString() {
return inString;
}
public void setInString(String inString) {
this.inString = inString;
}
}
を使用してメールメソッドに変数を設定します
VariableStorage variableStorage = new VariableStorage();
variableStorage.setInString(inString);
次に、オブジェクト Serialzation を使用してこのオブジェクトをシリアル化し、他のクラスでこのオブジェクトを逆シリアル化します。
シリアライゼーションでは、オブジェクトは、オブジェクトのデータと、オブジェクトのタイプおよびオブジェクトに格納されているデータのタイプに関する情報を含む一連のバイトとして表すことができます。
シリアル化されたオブジェクトがファイルに書き込まれた後、そのオブジェクトをファイルから読み取って逆シリアル化できます。つまり、オブジェクトとそのデータを表す型情報とバイトを使用して、メモリ内にオブジェクトを再作成できます。
このためのチュートリアルが必要な場合は、このリンクを参照してください
http://javawithswaranga.blogspot.in/2011/08/serialization-in-java.html
他のクラスで変数を取得する
D.共通ユーティリティ
プロジェクトで頻繁に必要とする共通データを含むクラスを自分で作成できます。
サンプル
public class CommonUtilities {
public static String className = "CommonUtilities";
}
E.インテントを介してデータを渡す
データを渡すこのオプションについては、このチュートリアルを参照してください。
http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between-activities-using-parcelable-classes/