2017-08-29 42 views
-5

例如:我有一個字符串值「A」。我有活動:activity_a,activity_b,activity_C。我可以在所有活動中使用價值嗎?

我可以在所有活動中使用值「A」嗎?如果是的話,該如何實現? 而不是通過意向或發送數據到另一個活動。

對不起,我不會說流利的英語。

我將登錄活動中的令牌值移至主要活動。 我用意圖和移動令牌登錄活動。這是我的登錄活動代碼。

StringRequest stringRequest = new StringRequest(Request.Method.POST, serverURL, 
            new Response.Listener<String>() { 
             @Override 
             public void onResponse(String response) { 
              try{ 
               JSONArray jsonArray = new JSONArray(response); 

               JSONObject json_code = jsonArray.getJSONObject(0); 
               JSONObject json_token = jsonArray.getJSONObject(1); 

               String code = json_code.getString("code"); 
               String token = json_token.getString("token"); 

               Intent myIntent = new Intent(loginActivity.this, mainActivity.class); 
               myIntent.putExtra("token", token); 
               startActivity(myIntent); 
               finish(); 

               overridePendingTransition(R.xml.madefadein, R.xml.splashfadeout); 

              }catch(JSONException e){ 
               e.printStackTrace(); 
              } 
             } 
            }, new Response.ErrorListener() { 
           @Override 
           public void onErrorResponse(VolleyError error) { 
            switch(error.networkResponse.statusCode) 
            { 
             case 409: 
              Toast.makeText(loginActivity.this, error.networkResponse.toString(), Toast.LENGTH_SHORT).show(); 
              break; 
            } 

           } 

但在主Activity中,我試圖像這樣聲明靜態。

Intent i = new Intent(getIntent()); 
public static final String token = i.getStringExtra("token"); 

但它不起作用。

+0

使用sharedprefference爲此 –

+0

使其爲靜態例如public static String activity_a =「some string」;然後從其他訪問MainActivty.activity_a – Hamza

+1

'String strA_fromActivity_A = Activity_A.strA;' –

回答

2

1.just您的活動宣告你的String作爲public static String strTmp="A";比你可以在項目中使用的任何地方

這樣

String strTmp = yourActivity.str; 

2.創建一個新類這樣

public class ServiceClass { 
    public static String strTmp="Data"; 
} 

現在你可以交流塞斯這個字符串在項目中的任何地方像這樣

String mystr= ServiceClass.strTmp;

3,如果你想用硬字符串比你的字符串中RES /價值/ string.xml存儲這樣

<resources> 
    <string name="app_name">PatternView</string> 
</resources> 

比你可以這樣使用

String str = getResources().getString(R.string.app_name); 

4.保存它在這樣

代碼爲SharedPreferences保存數據這樣

SharedPreferences myPref; 
SharedPreferences.Editor prefEditor; 

myPref = getSharedPreferences("TOKENNAME", MODE_PRIVATE); 
prefEditor = myPref.edit(); 

prefEditor.putString("TOKEN", "your token"); 
prefEditor.apply(); 

代碼從SharedPreferences檢索數據SharedPreferences

SharedPreferences myPref; 
myPref = getSharedPreferences("TOKENNAME", 
      MODE_PRIVATE); 

    String name = myPref.getString("TOKEN", ""); 
0
public class Controller { 
    public static String string="A"; 
} 

並使用Controller.string;

相關問題