例如:我有一个字符串值“A”。我有活动:activity_a,activity_b,activity_C。
我可以在所有活动中使用值“A”吗?如果是,如何实现这一目标? 而不是通过Intent或将数据发送到另一个活动。
我很抱歉我的英语不流利。
我将登录活动中的令牌值移动到主要活动。 我使用了Intent并移动了令牌登录活动。这是我的登录活动代码。
let textColor = process.env.NODE_ENV === 'production' ? 'rgb(0,0,0)' : chromatism.contrastRatio('#ffea00').cssrgb;
但是在主Activity中,我试图像这样声明静态。
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;
}
}
但它不起作用。
答案 0 :(得分:3)
1.在您的活动中将您的字符串声明为 public static String strTmp="A";
,而不是在您的项目中使用任何位置
String strTmp = yourActivity.str;
<强> 2。创建一个像这样的新类
public class ServiceClass {
public static String strTmp="Data";
}
现在您可以在项目中的任何位置访问此字符串,例如
String mystr= ServiceClass.strTmp;
3.如果您想使用硬字符串而不是将字符串存储在 res / values / string.xml 中
<resources>
<string name="app_name">PatternView</string>
</resources>
比你可以这样使用
String str = getResources().getString(R.string.app_name);
<强> 4。将其保存在像此
的SharedPreferences中在SharedPreferences中保存数据的代码,如下所示
SharedPreferences myPref;
SharedPreferences.Editor prefEditor;
myPref = getSharedPreferences("TOKENNAME", MODE_PRIVATE);
prefEditor = myPref.edit();
prefEditor.putString("TOKEN", "your token");
prefEditor.apply();
从SharedPreferences检索数据的代码
SharedPreferences myPref;
myPref = getSharedPreferences("TOKENNAME",
MODE_PRIVATE);
String name = myPref.getString("TOKEN", "");