简单的说 SharedPreferences 就是使用键值对的方式将数据存储在一个xml文件中,可以使用getxxx(key,value),setxxx(key,value)方法读写数据。在每个应用程序的
Context中都有SharedPreferences对象,可使用getSharedPreferences()方法得到该实例
这个例程中在DBTest.java 得到SharedPreferences 对象,并写入数据,而在DBTest2.java中取得得到SharedPreferences对象,并读取数据。
在DBTest有一个按钮,点击此按钮进入DBTest2,而在DBTest2中显示SharedPreferences对象取得的数据
在SharedPreferences中是使用键值对(key,value)的方式来存取数据,这些数据是存储在一个xml文件中,这个xml文件是在data/data/程序包名/shared_prefs/文件下的
详细实现看代码:
public class DBTest extends Activity {
private SharedPreferences sp;
private TextView tv;
private Button btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//每个应用程序的Context中都有SharedPreferences对象,获得SharedPreferences,并指定名称为demo,访问权限为本应用程序可访问
//Context.MODE_READABLE,其他应用程序可读
//Context.MODE_WRITEABLE,其他应用程序可写权限
//Context.MODE_PRIVATE只有当前程序可访问
sp = this.getSharedPreferences("demo", Context.MODE_PRIVATE);
//使用SharedPreferences的内部类Editor对象对demo.xml文件进行编辑
SharedPreferences.Editor editor = sp.edit();
//编辑数据
editor.putString("name", "zhangsan");
editor.putInt("id", 123);
editor.putString("class", "dasan");
editor.commit();//最后要commit否则,修改数据无效
tv = (TextView)findViewById(R.id.tv);
tv.setText(sp.toString());//此行纯属测试,无意义
btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(DBTest.this,DBTest2.class));
}
});
}
}
public class DBTest2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
SharedPreferences sp = this.getSharedPreferences("demo", Context.MODE_PRIVATE);//同样的方法,得到SharedPreferences实例
SharedPreferences.Editor editor = sp.edit();
editor.putInt("fenshu", 96);//可以对SharedPreferences对象进行修改
editor.commit();//一定要commit,否则无法读取
//显示数据
tv.setText("id:"+sp.getInt("id", 0)+" name:"+sp.getString("name", null)+
" class:"+sp.getString("class", null)+" fenshu:"+sp.getInt("fenshu", 0));
setContentView(tv);
}
}
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<int name="id" value="123" />
<string name="class">dasan</string>
<int name="fenshu" value="96" />
<string name="name">zhangsan</string>
</map>
该文件是存储在data/data/me.android.dbtest/shared_prefs/demo.xml,me.android.dbtest是本应用程序的包名。在eclipse中运行本程序后,
打开File Explorer
(可在Window->show view->others->general->file explorer打开)并可以得到此xml文件
- 大小: 19.5 KB
- 大小: 15.2 KB
分享到:
相关推荐
Android数据存储——SharedPreferences实现登入记住密码功能。
安卓Android源码——SharedPreferences.rar
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore 基于 Kotlin 协程和 Flow 实现,并且可以对 SP 数据进行迁移,旨在取代 SP 。 DataStore 提供了两种...
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 1 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
使用SharedPreferences的小项目。
Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例) http://blog.csdn.net/h1028962069/article/details/9129851 文章代码
android studio 利用SharedPreferences实现自动登录(可以自己选择记住密码和直接登录)
Android使用SharedPreferences和SQLite数据库实现数据存储
利用数据存储的SharedPreferences开发技术,实现了一个简易的登录界面,可以记住登录密码等。
Android系统SharedPreferences进行的封装
android,SharedPreferences
在Android使用SharedPreferences实现自动登录
在android studio中存储数据有三个方法,分别是: (1)简单存储——SharedPreferences (2)文件存储: 内部存储——应用程序私有文件 外部存储——SD卡 资源文件——只读( RAW 、XML) (3)数据库存储——...
程序代码 博文链接:https://prettyboy434.iteye.com/blog/724088
Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。...