如何使用共享首选项日期变音播放发送下一个活动



我需要将数据Date Display发送到下一个Activity并保留该数据

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);
}
的确,

您可以从应用程序的每个位置访问数据/日历对象。但如果你坚持:

你已经把你的字符串放在"key1"下的共享首选项中,所以在其他活动中你必须调用:

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

因此,当您调用共享首选项时,您还需要它们的密钥。它是某种"数据库版本",您可以在那里编写任何内容(例如,我使用PREFS-KEYv1,当我需要新的版本时,我会递增到v2)。并且不要在任何地方使用相同的密钥,这是不好的做法。

可用于将 String 发送到其他活动的另一种方法是通过意图。

intent.putExtra("key1",yourStringVariable);

Showdata_result_resume在创建后设置内容中,您可以通过以下方式获取它:

String data = intent.getExtras().getString("key1");

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

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

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

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

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);

祝你好运

最新更新