【Android--SharedPreferences数据存储方案】知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述Android--SharedPreferences数据存储方案相关的知识,希望能为你提供帮助。
SharedPreferences是使用键值对的形式存储的,并且支持多种不同的数据类型,存的是String,取得值也是String。
使用SharedPreferences有三种方法:
1:
Context类中的getSharedPreferences()方法
这个方法需要两个参数,第一个参数用于指定SharedPreferences文件名称,如果指定的文件不存在则会创建一个,第二个参数用于指定操作模式,目前只有MODE_PRIVATE这一种模式可以选择,表示只有当前程序才可以对这个SharedPreferences文件进行读写。
2:
Activity类中的getPreferences()方法
这个方法只接收一个参数,操作模式,使用这个方法是会自动将当前活动的类名作为SharedPreferences文件名。
3:
PreferenceManager 类中的getDefaultSharedPreferences()方法
这是一个静态方法,接收context参数,并自动使用当前应用程序的包名来命名SharedPreferences文件,得到了SharedPreferences对象之后,就可以向SharedPreferences文件存储数据了。
分三步实现:
- 调用SharedPreFerences对象中的edit()方法来获取一个SharedPreFerences.Editor对象。
- 向SharedPreferences.Editor对象中添加数据,添加什么类型就能存什么类型。
- 调用apply()方法将数据提交,完成数据存储操作。
package sd.he3.sharedpreferencestest; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button_view); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SharedPreferences.Editor editor = getSharedPreferences("HelloWorld",MODE_PRIVATE).edit(); editor.putString("H","HelloWorld"); editor.apply(); } }); Button button1 = findViewById(R.id.button_2); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SharedPreferences sharedPreferences = getSharedPreferences("HelloWorld",MODE_PRIVATE); String H = sharedPreferences.getString("H",""); Log.d("H++++++++++> > > > > > > > > > > > ", H); } }); } }
控制台打印:D/H++++++++++> > > > > > > > > > > > : HelloWorld
推荐阅读
- Android_6_Apache服务器的下载与安装
- Android贝塞尔曲线应用-跳动的水滴
- Android RxJava小结
- Java Service Wrapper 使用(windows)
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
- SpringMVC-HandlerMapping
- Gym - 100548H The Problem to Make You Happy2014-2015 ACM-ICPC, Asia Xian Regional Contest (BFS+博弈)
- Android MVVM小结
- 安卓preview不显示的问题