行是知之始,知是行之成。这篇文章主要讲述安卓开发之文件存储SharedPreferences相关的知识,希望能为你提供帮助。
SharedPreferences存储
不同于文件的存储方式,SharedPreferences是使用键值对的方式来存储数据的,Sharedpreferences还支持多种不同的数据存储类型,但在读取出来的时候,应该保持类型一致,如存入一个String型,读取的时候也是String型的.数据存储在data/data/<
package_name>
/files下
使用SharedPreferences需要获取到SharedPreferences对象,提供了三种方法来获取
(1)Context中的getSharedPreferences()方法,接受两个参数,一个参数是文件名,一个参数是操作模式,只有一种模式可以用PMODE_PRIVATE
(2)在Activity中的getPreferences()方法,只接受一个参数,会把当前活动类名作为SharedPreferences作为文件名
(3)PreferencesManger类中的GetDefaultSharedPreferences()方法,这是一个静态方法,接受一个参数,并自动使用当前应用程序的包名作为文件名
向文件中存储数据的步骤:
(1)调用SharedPreferences对象的edit()方法获取一个SharedPreferences对象
(2)向SharedPreferences对象中添加数据,如添加布尔型的数据就用putBoolean()方法,
(3)调用apply()方法将添加的数据提交,从完成数据存储操作.
从文件中读取数据的步骤:
(1)先使用getSharedPreferences()方法调用文件
(2)再使用相应的get(数据类型)去获取相应的 键值
public class MainActivity extends AppCompatActivity { EditText username; EditText password; EditText vip; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button saveData = https://www.songbingjia.com/android/(Button)findViewById(R.id.save_data); username = (EditText)findViewById(R.id.username); password = (EditText)findViewById(R.id.password); vip = (EditText)findViewById(R.id.vip); textView = (TextView)findViewById(R.id.textview); saveData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SharedPreferences Preferences = getSharedPreferences("data",MODE_PRIVATE); SharedPreferences.Editor editor = Preferences.edit(); editor.putString("username",username.getText().toString()); editor.putString("password",password.getText().toString()); editor.putString("vip",vip.getText().toString()); editor.apply(); } }); Button restoreData = https://www.songbingjia.com/android/(Button)findViewById(R.id.restore_data); restoreData.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE); String username = pref.getString("username","zhangsan"); String password = pref.getString("password","123456"); String vip = pref.getString("vip","SVIP"); StringBuilder content=new StringBuilder(); content.append(username+" "+password+" "+vip); textView.setText(content.toString()); } }); } }
【安卓开发之文件存储SharedPreferences】
推荐阅读
- pthon-安装新版PyQt5PyQT5-tool后打不开并Designer.exe提示“This application failed to start because no Qt platfor
- 目前校园百晓生APP与CSDN软件的对比
- uniapp 微信支付(亲测可支付)
- Android持久化技术
- Android Studio git 使用
- 安卓自定义广播没有响应
- Mac Navicate Premium.app已经损坏,无法打开
- Chrome真机调试webapp
- ionic 插件Image Picker 安卓闪退问题