提示:转到安卓学习专栏,观看更多内容!
点我直达–>安卓学习专栏
SharedPreferences文件存储。
进入到/data/data/com.example.sharedpreferencestest/shared_prefs/目录下,可以看到生成了一个userData.xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/save_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="保存数据"
/>
LinearLayout>
首先给按钮注册了一个点击事件,然后在点击事件中通
过getSharedPreferences() 方法指定SharedPreferences的文件名为
data,并得到了SharedPreferences.Editor 对象。接着向这个对象中
添加了3条不同类型的数据,最后调用apply() 方法进行提交,从而完
成了数据存储的操作。
PreferenceManager 类中的getDefaultSharedPreferences()方法
这是一个静态方法,它接收一个Context 参数,并自动使用当前应
用程序的包名作为前缀来命名SharedPreferences文件。得到了
SharedPreferences 对象之后,就可以开始向SharedPreferences文
件中存储数据了,主要可以分为3步实现。
(1) 调用SharedPreferences 对象的edit() 方法来获取一
个SharedPreferences.Editor 对象。
(2) 向SharedPreferences.Editor 对象中添加数据,比如添加一
个布尔型数据就使用putBoolean() 方法,添加一个字符串则使
用putString() 方法,以此类推。
(3) 调用apply() 方法将添加的数据提交,从而完成数据存储操
作。
(以上介绍来自郭老师的第一行代码)
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
package com.example.sharedpreferencestest;
import androidx.appcompat.app.AppCompatActivity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button saveData = (Button) findViewById(R.id.save_data);
saveData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = getSharedPreferences("userData",
MODE_PRIVATE).edit();//设置文件名为userData
//设置下方的键值对
editor.putString("userName", "nanli");
editor.putInt("age", 28);
editor.putBoolean("isMan", true);
editor.apply();
}
});
}
}
《第一行代码》6.3.1 将数据存储到SharedPreferences中
as项目完整文件下载
大家喜欢的话,给个,点个关注!继续跟大家分享敲代码过程中遇到的问题!