SharedPreferences用于储存轻量级数据在本地,可以保存的数据类型有:int、boolean、float、long、String、StringSet
访问模式
SharedPreferences有三种访问模式
- MODE_PRIVATE: 私有,仅创建SharedPreferences的程序有权限对其进行读写
- MODE_WORLD_READABLE: 其他应用程序有读取权限,没有写入权限(Android 4.2中弃用)
- MODE_WORLD_WRITEABLE: 其他应用程序有写入权限,没有读取权限(Android 4.2中弃用)
读写本地配置文件
得到一个SharedPreferences实例
1 2 3
|
SharedPreferences sharedPreferences = getSharedPreferences("文件名",MODE_PRIVATE);
|
从SharedPreferences中读取信息
1 2 3
|
String str = sharedPreferences.getString("time","首次读取");
|
读取到默认值则写入配置文件
1 2 3 4 5 6 7 8 9 10 11
| if (str.equals("首次读取")){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("time","配置文件信息");
editor.commit(); } else { Toast.makeText(this,"读取到的值" + str,Toast.LENGTH_SHORT).show(); }
|
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| import android.content.SharedPreferences; import android.os.Bundle; import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity;
public class MyCoffeeStore extends AppCompatActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_coffee_store);
SharedPreferences sharedPreferences = getSharedPreferences("testName",MODE_PRIVATE);
String str = sharedPreferences.getString("testName","首次读取"); if (str.equals("首次读取")){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("testName","配置文件信息");
editor.commit(); } else { Toast.makeText(this,"读取到的值" + str,Toast.LENGTH_SHORT).show(); } } }
|