首页 > 代码库 > 小猪的Android入门之路 Day 7 part 2
小猪的Android入门之路 Day 7 part 2
小猪的Android入门之路 Day 7 part 2
Android的数据存储与访问之——SharedPreferences(保存偏好参数)
---转载请注明出处:coder-pig
本节引言:
在Part 1中我们学会了Android中文件的读写,而在Part 2中我们会介绍一个轻量级的存储类——
SharedPreferences(偏好参数保存),就是用来保存软件中用户的一些设置,比如一个游戏的app,用户
可以自己设置是否开游戏音,是否自动登录等!下次启动app时就不用用户再次设置了!我们都知道
在Windows系统下的软件通常使用ini文件作为配置文件,而在J2SE中使用properties属性文件与xml
文件来保存软件的配置信息;而在Android中我们常常用SharedPreferences进行软件配置的保存,当然
他的背后还是使用xml文件进行存储数据的!好了,开始part 2的学习吧!
本节学习路线图:
正文:
SharePreferences的引入与使用流程:
代码示例:
效果图:
流程是输入账号密码后点击登录,将信息保存到SharedPreference文件中,
然后重启app,看到数据已经显示在文本框中了
同时打开File Expoler打开data/data/<包名>可以看到在shared_prefs目录下生成了一个xml文件
点击导出到桌面可以看到里面的内容:
参考代码下载:代码下载
读写其他应用的SharedPreferences
代码示例:
效果图:
就是读取上一个Demo中存储好的SharedPreferences,然后通过Toast显示出来
代码很简单,就一个Activity,这里就贴一下吧!
package com.example.sharedpreferencesdemo2; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { private Button btnshow; private Context othercontext; private SharedPreferences sp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshow = (Button) findViewById(R.id.btnshow); btnshow.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //获得第一个应用的包名,从而获得对应的Context,需要对异常进行捕获 try { othercontext = createPackageContext("com.jay.example.sharedpreferencedemo1",Context.CONTEXT_IGNORE_SECURITY); } catch (NameNotFoundException e) {e.printStackTrace();} //根据Context取得对应的SharedPreferences sp = othercontext.getSharedPreferences("mysp",Context.MODE_WORLD_READABLE); String name = sp.getString("username", ""); String passwd = sp.getString("passwd", ""); Toast.makeText(getApplicationContext(), "Demo1的SharedPreference存的的用户名为:" + name + "\n密码为" + passwd, Toast.LENGTH_SHORT).show(); } }); } }
ps:好了,关于SharedPreferences的使用就讲到这里,其实对于xml文件,我们也可以自己进行解析,比如Android
特有的XMLpull解析器,或者用DOM,SAX等在后续会专门总结下xml文件的解析,敬请期待,另外谢谢各位朋友的
支持!写博一段时间了感触很多很多,我不是什么大牛,不会什么高大上的技术,我只是默默地做着一些微不足道的
事,我只是希望自己写的文章思清晰点,给想学习编程又感到迷茫的朋友一个方向,不至于无从下手,如今市面上相关
的参考书鱼龙混杂,对一些知识讲得云里雾里的,学完好像没学一样!我个人的思想是先掌握基本理论基础,知道怎
么用!学习完基础以后,更重要的就是实践,通过项目去积累编码量,巩固知识点,先从小的项目入手,最后再做一个
大的项目!本系列的目的就是入门,接着第二个系列就是通过实际的小项目去应用这些基础知识,敬请期待哈!
再一次感谢各位朋友的支持,我会坚持写下去的!只要有人愿意看!