小猪的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的引入与使用流程:




代码演示样例:

效果图:

流程是输入账号password后点击登录,将信息保存到SharedPreference文件里,

然后重新启动app,看到数据已经显示在文本框中了



同一时候打开File Expoler打开data/data/<包名>能够看到在shared_prefs文件夹下生成了一个xml文件



点击导出到桌面能够看到里面的内容:



參考代码下载:代码下载







读写其它应用的SharedPreferences




代码演示样例:

效果图:

就是读取上一个Demo中存储好的SharedPreferences,然后通过Toast显示出来



代码非常easy,就一个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 + "\npassword为" + passwd, Toast.LENGTH_SHORT).show();
			}
		});
	}
}


ps:好了,关于SharedPreferences的使用就说到这里,事实上对于xml文件,我们也能够自己进行解析,比方Android

特有的XMLpull解析器,或者用DOM,SAX等在兴许会专门总结下xml文件的解析,敬请期待,另外谢谢各位朋友的

支持!写博一段时间了感触非常多非常多,我不是什么大牛,不会什么高大上的技术,我仅仅是默默地做着一些微不足道的

事,我仅仅是希望自己写的文章思清晰点,给想学习编程又感到迷茫的朋友一个方向,不至于无从下手,现在市面上相关

的參考书鱼龙混杂,对一些知识讲得云里雾里的,学完善像没学一样!我个人的思想是先掌握基本理论基础,知道怎

么用!学习完基础以后,更重要的就是实践,通过项目去积累编码量,巩固知识点,先从小的项目入手,最后再做一个

大的项目!本系列的目的就是入门,接着第二个系列就是通过实际的小项目去应用这些基础知识,敬请期待哈!

再一次感谢各位朋友的支持,我会坚持写下去的!仅仅要有人愿意看!奋斗










转载于:https://www.cnblogs.com/lcchuguo/p/4091409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值