0

在主要活动中,我有以下内容:

((TextView)findViewById(R.id.TextView02)).setText(getSharedPreferences("FearAlert", 1).getString("contactName", "Tap to select an Emergency Contact."));
    ((TextView)findViewById(R.id.TextView03)).setText(getSharedPreferences("FearAlert", 1).getString("contactNumber", ""));

现在我想在另一个 Activty 中使用 contactNumber 值说 Activty2 中的 activity2 是:

 SmsManager.getDefault().sendTextMessage(??, null, "message",null, null, null);
return null;

我应该写什么来代替??以上..请帮助..

4

4 回答 4

1

在 Java 中,有... 没关系,在编程语言中,有一些变量,您可以在其中为变量赋值。像 x=1; 然后使用可以使用 x+x=?; 会给你2个;

在这里你可以做

SharedPreferences sPrefs=getSharedPreferences("FearAlert", 1);
TextView tv=(TextView)findViewById(R.id.TextView02);
String YOUR_INTRESTING_STRING=sPrefs.getString("contactName", "Tap to select an Emergency Contact.");

并将其传递给另一个 Activity;你可以把它放在一个Bundle中

Intent i = new Intent(getApplicationContext(), YOUR_ANOTHER_ACTIVITY.class);
i.putExtra("name_of_value",YOUR_INTRESTING_STRING);
startActivity(i);


并在您的 AnotherActivity 中检索它

Bundle extras = getIntent().getExtras();
String value = extras.getString("name_of_value");
于 2013-01-29T15:30:29.060 回答
0

首选项通常是名称值对。它们可以在应用程序中的各种活动中存储为“共享首选项”(注意目前它不能跨进程共享)。或者它可能是需要存储特定于活动的东西(这里不讨论)。

上下文对象允许您通过方法检索 SharedPreferences

Context.getSharedPreferences(). 


getSharedPreferences("FearAlert", 1).getString("contactNumber", "");

OR 

 SharedPreferences myPrefs = this.getSharedPreferences("FearAlert", 1);
        String contactNumber = myPrefs.getString(contactNumber, "nothing");
于 2013-01-29T15:30:53.230 回答
0

您可以在应用程序的任何地方访问您的首选项,例如使用以下方法:

/**
 * Get a string preference by its key from the apps preferences file
 * 
 * @param key of preference
 * @return value of preference
 */
public String getStringPreference(String key) {
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    return pref.getString(key, "");
}

只需设置您的密钥,例如“contactName”作为参数。首选项管理器通过 getApplicationContext() 需要应用程序上下文。

于 2013-01-29T15:32:52.660 回答
0

假设您已正确创建 SharedPreferences:

SharedPreferences settings = getSharedPreferences("MY_APP", MODE_PRIVATE);

您可以通过以下方式在您的方法中检索首选项:

SmsManager.getDefault().sendTextMessage(settings.getString("contactNumber"), null, "message", null, null, null);

假设您已使用“MY_APP”共享首选项标签对其进行设置。

settings.edit().putString("contactNumber", "XXX-XXX-XXXX").commit();
于 2013-01-29T15:35:06.407 回答