2017-10-23 3 views
-4

1つのアクティビティから2番目のアクティビティにデータを渡したいが、この2番目のアクティビティは開始しない。インテントではインテントでアクティビティを開始する必要があるため、このアクティビティを開始しません。どうやってやるの?この2番目のアクティビティを開始せずに、アクティビティから別のアクティビティにデータを渡すにはどうすればよいですか?

+0

これに続く[リンク](https://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values) また、この[リンク]で説明されているオブジェクト(https://stackoverflow.com/questions/7145606/how-android-sharedpreferences-save-store-object) – Mahsa

+0

なぜ、データをアクティビティに送信したいのですか?それを開始しようとしている?その情報を他のアクティビティに送信する目的は何か。データを格納する場合は、SqliteまたはSharedPreferenceを使用して設定できます。 – Soumya

+0

練習するには、外国語の単語を覚えるためのアプリを作成したいので、最初のアクティビティは「メニュー」になります。メニューでは2つのアクティビティを開始する2つのボタンになります。最初のアクティビティは単語付きのアクティビティになります。そして、私はこの単語を知っているかどうかを確認します。そして、メニューには、私が確認した単語を表示するアクティビティを起動するボタンがあります。私はあなたが理解すると思うよ。 – Radek

答えて

1
SharedPreferences preferences = 
PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

String myString = preferences.getString("myString", "N/A"); 
int myInt = preferences.getInt("myInt", -1); 

Uは、それが起動していない間、それは第二のアクティビティにデータを渡すの論理的な音ではありません共有好み

0

を使用することができます。 しかし、それは次のように、多くの方法で行うことができます。第二活性(悪い方法)の変数の設定を経由して


  1. SecondActivity.someValue = value; // for static variables
    または、(new SecondActivity()).someValue = value; // for non-static variables

  2. は、共有の好みにデータを入れて、あなたが好きな場所からそれを使用して。あなたの最初の活動で

    SharedPreferences.Editor prefEditor = PreferenceManager .getDefaultSharedPreferences(context).edit(); prefEditor.putString("key", "value"); prefsEditor.commit();

    あなたの第二の活動で:
    あなたはおそらくあなたのデザインを再考する必要が SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); String mValue= pref.getString("key", "default-value");

+0

さて、私が欲しいと言っていないので、論理的に聞こえないかもしれないプログラムする。練習するには、外国語の言葉を学ぶためのアプリを作ったので、最初のアクティビティは「メニュー」、メニューでは2つのアクティビティを開始する2つのボタンになります。最初に言葉で活動することになります。そして、私はこの言葉を知っているかどうかを確認します。そして、メニューには、私が確認した単語を表示するアクティビティを起動するボタンがあります。私は知らない; pあなたはそれを理解するだろうと思う – Radek

0

。アクティビティはUIコンポーネントです。 UIがない場合、アクティビティの開始点はありません。

"仕事をする"必要がある場合は、IntentServiceをご覧ください。アクティビティーの開始方法に似た意図で開始することができます。 UIはありません。

関連する問題