2011-11-09 14 views
0

アンドロイドの2つのアクティビティ間でデータを渡すにはどうすればよいですか?そのためアンドロイドの2つのアクティビティ間でデータを渡す方法は?

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
intent.putExtra("EXTRA_SESSION_ID", sessionId); 
startActivity(intent) 

第二に、私が使用しSharedPreferences: - - :

は私のコードでパスデータについては

: -

次のアクティビティにデータを取得するための
SharedPreferences gameSettings = getSharedPreferences("MyGamePreferences",MODE_PRIVATE); 
SharedPreferences.Editor prefEditor = gameSettings.edit(); 
prefEditor.putString("UserName", "Guest123"); 
prefEditor.putBoolean("PaidUser", false); 
prefEditor.commit(); 

: -

SharedPreferences gameSettings = PreferenceManager 
           .getDefaultSharedPreferences(getBaseContext()); 
String s= gameSettings.getString("UserName", "Dipak"); 
Boolean b= gameSettings.getBoolean("PaidUser", true); 

データが次のアクティビティに入らない。

+0

あなたはputExtraを使用してデータを渡したい:新しい活動に続いて

Intent i = new Intent(this, YourActivity.class); i.putExtra("key","value"); startActivity(i); 

を、値を取得しますか? –

答えて

0

他のアクティビティにデータを渡すのにmIntent.putExtra()を使用しないのはなぜですか?

int sessionId=getIntent().getIntExtra("EXTRA_SESSION_ID"); 

そして、あなたは絶対にcorrect.IにはわからないされてSharedPreferencesから値を取得する方法(あなたの整数としてセッションIDを想定):

あなたのコーディングを見て、あなたが使用して次の活動にあなたのセッションIDを取得することができますなぜあなたはそれらを次の活動に取り入れていないのですか?第一の方法で使用するために

1

次の行SPを使用して取得したデータの値

int sessionId=getIntent().getIntExtra("EXTRA_SESSION_ID"); 

を取得するためにも、あなたが使用しているため、動作しない理由は、このラインに

SharedPreferences gameSettings = getSharedPreferences("MyGamePreferences",MODE_PRIVATE); 
1

を使用2つの異なる設定ファイル。両方の場所でデフォルトの共有設定を使用すると、動作するはずです。しかし、単にデータを渡したいのであれば、それはそれを行う方法ではありません、あなたはあなたの意図にもっと多くのエクストラを使うべきです。

string dataToPass= "Hello I am activity one"; 
Intent intent = new Intent(this, NextActivity.class); 
intent.putExtras("KeyToAccessData", dataToPass); 
startActivity(intent); 

をそしてNextActivityに、このようなデータが取得:

3

あなたはこれを試すことができます渡すためにデータがオブジェクトの場合

String datatoCollect; 
Intent intent = getIntent(); 
dataToCollect = intent.getStringExtra("KeyToAccessData"); 

、あなたはParcelable

チェックアウトすることができます
0

これは私のやり方です、それは私のために働くものです。 SecondWindow.javaで

Intent in = new Intent(this, SecondWindow.class); 
     Bundle bundle = new Bundle(); 
     bundle.putString("userName", "Name"); 
     bundle.putString("pwd", "password"); 
      in.putExtras(bundle); 
     startActivity(in); 

、活性との間のデータの受け渡しのonCreateメソッド

Bundle params = getIntent().getExtras(); 

     String username= params.getString("userName"); 
     String pwd= params.getString("pwd"); 
0

以下のコードを使用して、1つのアクティビティから別のアクティビティに変数を渡します。あなたの現在の活動に

は、新しいテント作成:

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    String value = extras.getString("key"); 
} 
関連する問題