SharedPerferences的用法

SharedPerferences的用法,第1张

概述我们在做Android软件程序开发的时候,有些软件需要存储一些设置参数等数据,这样就需要一种能存储这些数据的方法,在Android中有很多存储的方式,例如以文件方式存储,以XML解析技术存储, 网络技术存储,数据库技术存储等等,今天我们不谈这些,我们今天讲下SharedPerferences的用法。 在windows下我们经常会看到ini文件,这些文件是保存软件程序的属性设置参数的,在Androi 我们在做AndroID软件程序开发的时候,有些软件需要存储一些设置参数等数据,这样就需要一种能存储这些数据的方法,在AndroID中有很多存储的方式,例如以文件方式存储,以XML解析技术存储,
网络技术存储,数据库技术存储等等,今天我们不谈这些,我们今天讲下SharedPerferences的用法。
在windows下我们经常会看到ini文件,这些文件是保存软件程序的属性设置参数的,在AndroID中我们则经常用SharedPerferences来存储一些简单的属性参数,比如一些游戏中用户做的一些自定义设
置。
我们用一个例子来说明一下SharedPerferences的用法吧,看下面的代码:
Sharperferences sharperferences = this.getSharedPreferences("地址簿",Context.CONTEXT_IGnorE_Security);
这句代码就是获取一个sharperferences对象,后面的两个参数的意思是:前面一个参数是你自定义的一个名字(就是你最后保存数据的文件的文件名),第二个参数是一个访问的安全模式,这里我们写
的是忽略安全性。获取了Sharperferences的对象后我们需要用这个对象来获取一个编辑器,这种存储方式存储文件不是直接用set之类的方法,而是用Editor来写入数据:
Editor editor = sharperferences.edit();
这一行代码就通过sharperferences对象获取了一个编辑器,然后通过这个编辑器就能写入数据了,Editor提供了一系列的putXxx方法,通过这些方法就可以将数据写入了,
editor.putInt("age",15);
这一行代码就是存储一个整型,一个参数是自己定义的一个名字,后面是你存储的数据;
在完成了上面那些步骤之后就可以进行最后一步了,
editor.commit();
这一句代码很容易忘记,造成存储数据失败;
整个存储的代码就是:
Sharperferences sharperferences = this.getSharedPreferences("地址簿",Context.CONTEXT_IGnorE_Security);
Editor editor = sharperferences.edit();
editor.putInt("age",15);
editor.commit();
用SharedPerferences读取数据更简单,
Sharperferences sharperferences = this.getSharedPreferences("地址簿",Context.CONTEXT_IGnorE_Security);

sharedPreferences.getInt("age",1);第一个参数是你要获取的数据定义的名字,后面的参数是当没有这个数据的时候设置的默认值。


Service获得Activity的数据
1、在startService或者bindService的时候,通过在Intent中加入bundle来给service传递数据;
2、bindService的时候,在ServiceConnection的onServiceConnected(ComponentName name,IBinder service)方法中,通过IBinder中的Setter方法来给Service传递数据,也可以直接将Activity的引用传递给Service,这样Service就可以 *** 作Activity中数据和方法了。
3、通过SharedPerferences共享存储数据;
4、通过sqlite数据库存储和获取数据,可以实现数据共享;
5、其他数据方法,如files等,具体内容看文档的Dev guIDe->data storage部分吧。

Activity获得Service的数据

1、同上通过sharedPerferences,sqlite,files等共享数据;
2、bindService的时候,在ServiceConnection的onServiceConnected(ComponentName name,IBinder service)方法中,通过IBinder可以访问Service的方法和变量,具体: a. 在自定义的IBinder中通过getter方法,返回Service中的变量,在赋给Activity中的的变量或者引用。 b. 在自定义的IBinder中的方法,执行Service中的 *** 作; c. 在自定义的IBinder中通过方法返回Service的引用,赋给Activity中Service引用,这样Activity就可以对Service进行 *** 作了。

总结

以上是内存溢出为你收集整理的SharedPerferences的用法全部内容,希望文章能够帮你解决SharedPerferences的用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1176793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存