安卓开发之文件存储SharedPreferences
Posted p-t-m
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓开发之文件存储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 = (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 = (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的主要内容,如果未能解决你的问题,请参考以下文章