接着上篇Android之Activity之间的数据通信方式大全(一)继续
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取Application的SharedPreference对象 SharedPreferences sp = getApplication().getSharedPreferences("myInfo", 0); //get方法获取值,如果没有存储对应的key-value则返回get方法给的默认值 String name = sp.getString("name", "null"); int age = sp.getInt("age", 0); boolean isStudent = sp.getBoolean("isStudent", false); //查看一下初始值 Toast.makeText(this, "MianActivity中:\n" + "name = " + name + "\nage = " + age + "\nisStudent = " + isStudent, Toast.LENGTH_SHORT).show(); //在写入时要先获取SharedPreference的Editor对象,经过Editor进行写入 SharedPreferences.Editor editor = sp.edit(); editor.putString("name", "WangJie"); editor.putInt("age", 23); editor.putBoolean("isStudent", true); //put完成后一定要commit(),否则不会生效 editor.commit(); Button btn = (Button) findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); } }然后,在SecondActivity中再次查看:
public class SecondActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //获取Application的SharedPreference对象 //注意"name"值一定要一致,否则会新建一个SharedPreference对象(本地存储新增一个文件) SharedPreferences sp = getApplication().getSharedPreferences("myInfo", 0); String name = sp.getString("name", "null"); int age = sp.getInt("age", 0); boolean isStudent = sp.getBoolean("isStudent", false); Toast.makeText(this, "SecondActivity中查看:\n" + "name = " + name + "\nage = " + age + "\nisStudent = " + isStudent, Toast.LENGTH_SHORT).show(); } }结果看图: