首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android学习札记(五)

2012-11-07 
android学习笔记(五)数据存储的分类?? ?Shared Preferences,一个轻量级的存储的地方。我觉得这种方式存储那

android学习笔记(五)

数据存储的分类?? ?Shared Preferences,一个轻量级的存储的地方。我觉得这种方式存储那些以个位单位的数据比较方便。?? ?File,最原始的数据存储方式,但是也是最方便的一种。?? ?SQLite Databases: 我的理解是一个Application私有的数据库。?? ?Content Providers: 我的理解是一个app开放给其他app查询的数据库,类似于Contact,就是其中的一种。
?Shared Preferences:?? ? ?在书中建议,这种方式存储一些不UI的状态等相关的信息。因为实现,基本上就是一个map。用过的人都知道,在map一级,往往存储不了太复杂的东西。?? ? ?其实用于这种方式存储数据的有两种,一种是被称之为SharePerferences的技术,其提供了一个map。另一种是onSaveInstanceState handler,基本上于前面一种属于实现类似。?? ? ?SharePerferences属于那种很通过activity自带的getSharedPreferences方法来获取SharedPreferences对象,然后再从里面获得Edit的内部对象来存储数据,其实这个edit就是一个存储器。不过要在结束后使用commit方法。而获取时直接从SharePreferences里面获取。?? ? 而onSaveInstanceState handler,则是在onSaveInstanceState存在其bundle对象中(1.1是如此,1.5可能换名字了吧),此方法在activity结束其生命周期时被调用。然后onCreate中读取。?? ? 前者是任何时间都可存取。而后者可以看成是一个activity结束时,等待下一个周期开始的时候,存放的数据。不能肯定。前一种好像其sharePreference不能在机器重启后有效。这点不敢肯定。

?

SQLite Databases?? ? ? 其实这里的SQLite写的相当的简单。所以我也没有什么办法写的太详细。不然也就是实打实的翻译了。?? ? ? 总体来说。关于SQlite的还是相当的复合现代的特征的。因为其提供了一套准OR映射框架给我们用。借助Help的操作,可以完全不用SQL语句来操作数据。这里用的准,是因为其本质上来说,还是原原本本的SQL语句。只是由于API的作用,变得优雅了很多。?? ? ? 总体上来说,Android提供了两个数据的库的对象。Cursors和Content Values,简单的来说Cursors是类似于数据集的东西。而Context Values代表的则是一行。还有一个比较特别的就是SQLiteOpenHelper,这是类似于一个适配器一样的类。处理了一些数据库动态的方式。?? ? ? 之所以说SQLite有着一套准的OR映射,是因为,你可以通过ContentValues和Cursors来操作所有的数据库(但是你必须写一些准SQl语句来查询或者定位)。相关的Api可以从书上或者网站上找到。具体的操作感觉上Cursors和java中的数据集基本类似。而ContextValuse则是更加的OO。?? ? ??Content Providers?? ?其实就是SQLite共有版本,记得要在主配置文件上面申明一下。?? ?Native的有?? ?BrowserCallLogContactsMediaStoreSettingsFile

?? ?基本上也是沿袭了java中流的概念,而且简化了不少。

热点排行