私は今日いくつかのアンドロイドコードをやっていますが、問題は変数を渡す必要があることです。シーンは、最初にFacebookにログインしてから自分の情報を取得する必要があるということです. その後、インテントを使用して私の名前などの情報を表示するスプラッシュ スクリーンが表示されます。その後、メイン画面が表示され、スプラッシュ画面からのすべてのデータがインテントを使用してメイン画面に渡されますが、問題は、このメイン画面が tabViews の単なるコンテナーであり、いつでも 1 つの画面からナビゲートできることです。この部分で再びインテントを使用する必要はないと思います。次に、メイン画面からタブの 1 つに渡されるすべての渡されたデータを取得し、それを TextView に表示する必要があります。
6 に答える
android.app.Application
この目的でクラスを使用できます。
Application クラスの作成と使用の手順:
アプリケーション クラスを作成します。以下に例を示します。
public class ApplicationController extends Application { //Application wide instance variables //Preferable to expose them via getter/setter methods @Override public void onCreate() { super.onCreate(); //Do Application initialization over here } //Appplication wide methods //Getter/Setter methods }
Application クラスを指定します
AndroidManifest.xml
<application android:icon="@drawable/icon" android:label="@string/app_name" android:name=".ApplicationController">
Application Class インスタンスのインスタンスを取得し、さまざまなメソッドを呼び出します。
ApplicationController AC = (ApplicationController)getApplicationContext();
お役に立てれば。
これには、メイン画面でパブリック静的変数を使用します。または、この目的にもApplicationクラスを使用できます。他のオプションはSharedPreferencesです。
アプリケーションクラスのグローバル変数については、このSOの質問を参照してください。Androidでグローバル変数を宣言するにはどうすればよいですか。
SharedPreferencesを使用して、次のような値を渡すことができます。
//for write id one Activity
SharedPreferences spre = context.getSharedPreferences("Your prefName",
Context.MODE_PRIVATE);
SharedPreferences.Editor prefEditor = spre.edit();
prefEditor.putString("key", value);
prefEditor.commit();
// for get id second Activity
SharedPreferences spre = context.getSharedPreferences("Your prefName",
Context.MODE_PRIVATE);
String mystring= spre.getString("key","");
変数を Public Static として定義するか、別のオプションとして、変数の値を共有設定に保存し、次のアクティビティで設定の値を取得します。詳細については、以下のリンクを参照してください。
これを行う最も簡単な方法は、静的変数を持つデータ クラスを使用して、どこでも使用できることです。このようなもの。
public class User {
public static String name;
public static String email;
.....
}
そして、Facebook からデータを受け取った後、これに入力して、どこからでもアクセスできます。
必要なタスクを実行する別の方法は、クラスの SharedPreferences と Application Object です。それらについてはこちらとこちらで読むことができます。