Android提供了许多方法来存储应用程序的数据。其中一种称为共享首选项。共享首选项允许您以密钥,值对的形式保存和检索数据。
为了使用共享首选项,您必须调用getSharedPreferences()方法,该方法返回一个指向包含首选项值的文件的SharedPreference实例。
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
第一个参数是键,第二个参数是MODE。除了私人之外,还有其他可用的模式,如下所列:
没有
模式和描述
1
MODE_APPEND
这将附加已有现有首选项的新偏好
2
MODE_ENABLE_WRITE_AHEAD_LOGGING
数据库打开标志。设置完成后,默认情况下会启用预写日志记录
3
MODE_MULTI_PROCESS
即使已经加载了sharedpreference实例,此方法也将检查首选项的修改
4
MODE_PRIVATE
通过设置此模式,只能使用调用应用程序访问该文件
5
MODE_WORLD_READABLE
此模式允许其他应用程序读取首选项
6
MODE_WORLD_WRITEABLE
此模式允许其他应用程序写入首选项
您可以使用SharedPreferences.Editor类在sharedpreferences中保存某些内容。您将调用SharedPreference实例的编辑方法,并在编辑器对象中接收它。它的语法是 -
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
除了putString方法外,编辑器类中还有一些方法可以在共享首选项中操作数据。它们列出如下 -
高级
模式和描述
1
应用()
这是一个抽象的方法。它会将您的更改从编辑器提交到您正在调用的sharedPreference对象
2
明确()
它将从编辑器中删除所有值
3
remove(String key)
它将删除其键作为参数传递的值
4
putLong(String key,long value)
它将在首选项编辑器中保存一个长的值
5
putInt(String key,int value)
它将在首选项编辑器中保存一个整数值
6
putFloat(String key,float value)
它将在首选项编辑器中保存浮点值
例
此示例演示了使用共享首选项。它显示一个带有一些文本字段的屏幕,当应用程序关闭时,其值被保存,并在再次打开时返回。
要实验这个例子,您需要根据以下步骤开发应用程序后在实际的设备上运行:
脚步
描述
1
您将使用Android Studio在一个包com.example.sairamkrishna.myapplication下创建一个Android应用程序。
2
修改src / MainActivity.java文件以添加进度代码以显示旋转进度对话框。
3
修改res / layout / activity_main.xml文件以添加相应的XML代码。
4
运行应用程序并选择一个正在运行的Android设备并在其上安装应用程序并验证结果。
以下是修改的MainActivity.java的内容。
packagecom.example.sairamkrishna.myapplication;importandroid.content.Context;importandroid.content.SharedPreferences;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;publicclassMainActivityextendsAppCompatActivity{EditTexted1,ed2,ed3;Buttonb1;publicstaticfinalStringMyPREFERENCES="MyPrefs";publicstaticfinalStringName="nameKey";publicstaticfinalStringPhone="phoneKey";publicstaticfinalStringEmail="emailKey";SharedPreferencessharedpreferences;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ed1=(EditText)findViewById(R.id.editText);ed2=(EditText)findViewById(R.id.editText2);ed3=(EditText)findViewById(R.id.editText3);b1=(Button)findViewById(R.id.button);sharedpreferences=getSharedPreferences(MyPREFERENCES,Context.MODE_PRIVATE);b1.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringn=ed1.getText().toString();Stringph=ed2.getText().toString();Stringe=ed3.getText().toString();SharedPreferences.Editoreditor=sharedpreferences.edit();editor.putString(Name,n);editor.putString(Phone,ph);editor.putString(Email,e);editor.commit();Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show();}});}}
以下是修改后的主要活动文件res / layout / activiy_main.xml的内容。
以下是文件res / values / strings.xml的修改内容的内容。
My Application
以下是内容默认文件AndroidManifest.xml。
我们试着运行你的应用程序。我假设您已将实际的Android移动设备连接到计算机。要从Android studio运行应用程序,请打开一个项目的活动文件,然后
从工具栏中单击运行图标。在开始应用程序之前,Android studio将显示以下窗口,以选择要运行Android应用程序的选项。
选择您的移动设备作为选项,然后检查您的移动设备将显示以下屏幕 -
现在只是在现场放了一些文字。像我放一些随机的名字和其他信息,点击保存按钮。
现在当您按保存按钮时,文本将被保存在共享首选项中。现在按返回按钮并退出应用程序。现在再次打开它,您将看到您在应用程序中写回的所有文本。