0

I need to send data Date Display to next Activity and keep that data

private void updateDisplay()
{      
SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(ShowdatanameActivity.this);
SharedPreferences.Editor editor = app_preferences.edit();

   mDateDisplay.setText(new StringBuilder().append(mMonth + 1).append("-").append(mDay).append("-").append(mYear).append(" "));   
   editor.putString("key1", mDateDisplay);
   editor.commit();
   Intent myIntent = new Intent(ShowdatanameActivity.this,Showdata_result_resume.class);
   startActivity(myIntent);
}
4

2 回答 2

0

没错,您可以从应用程序的每个位置访问 Data/Calendar 对象。但如果你坚持:

您已将字符串放在“key1”下的 SharedPreferences 中,因此在其他活动中您必须调用:

SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences("KEY_FOR_YOUR_DATA",ShowdatanameActivity.this);
String data = app_preferences.getString("key1","");

因此,当您调用 SharedPreferences 时,您还需要它们的密钥。它是某种“数据库版本”,你可以在那里写任何东西(例如我使用 PREFS-KEYv1,当我需要新的时,我会增加到 v2)。并且不要在任何地方使用相同的密钥,这是不好的做法。

您可以用来将字符串发送到其他活动的另一种方法是通过意图。

intent.putExtra("key1",yourStringVariable);

和 setContent 之后 onCreate 中的 Showdata_result_resume 可以通过以下方式获取:

String data = intent.getExtras().getString("key1");
于 2013-10-25T14:51:16.293 回答
0

使用这样的代码使偏好代码在各种应用程序和类之间可移植。

从一个片段中,我得到了这样的共享首选项。请注意我是如何在资源中命名首选项的,并且我使用 getActivity 来获取首选项。

    sharedPref = getActivity().getSharedPreferences(
            getString(R.string.preferences), Context.MODE_PRIVATE);

从主要活动中,我得到了这样的 sharedpref。请注意我如何在资源中命名首选项。

sharedPref = getSharedPreferences(getString(R.string.preferences),
            Context.MODE_PRIVATE);

应用程序中所有类共享的资源。

<string name="preferences">com.gosylvester.hilbilyfashliegt.prefrences</string> 
<string name="about_firstrun">com.gosylvester.hilbilyfashliegt.firstrunabout</string>

现在从我使用 R 字符串资源引用它的任何类中获取数据。

_Checked = sharedPref.getBoolean(getString(R.string.about_firstrun),
            false);

祝你好运

于 2013-10-25T15:57:11.997 回答