内容提供Content Provider: Android提供的第三方应用数据的访问方案。
在Android现在的高版本中,对数据的保护很严密,除了放在SD卡中的数据外,一个应用程序所持有的文件、数据库等内容,对于其他应用都是不可见的,禁止其他应用程序访问。当然了Android不会真的把每个应用绝对的独立起来,它为所有的应用开启了一扇门,也就是Content Provider。如果一个应用程序想对外提供数据,可以通过继承Content Provider类,然后封装成一个Content Provider,再用一个独立的uri标识。uri形如:content://com.xxxx。
1.4.2 Android SQLite数据库
SQLite是一款轻量级的关系型数据库。因为它操作方便、使用简单以及占用资源很少,所以在很多嵌入式设备中的应用数据都用SQLite来存储。并且目前它可以运行在Windows/Linux/Unix等主流的操作系统上,有很好的兼容性。我们也可以用多种开发语言如C#、PHP、Java等来通过ODBC接口操作SQLite,十分方便。SQLite数据库支持SQL语句的查询、修改和删除的标准语句。本次日历软件的开发需要用SQLite数据库来存储多种数据。
1.4.3 Android手机文件存储和SDCard的读写
File的读取与写入需要FileOutputStream和FileInputStream。并且需要(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)来判断SD是否可读写。
1.4.4 网络数据的解析XML和Json
1.在Android中解析XML的方法有三种:SAX (Simple API XML), DOM (Document Objrect Model和Android推荐的Pull解析方法。下面就对三种解析方式逐一具体论述。
1)SAX解析XML文件
SAX是一个解析速度快、内存占用少的XML解析器,特别适合用于Android等移动设备。SAX采用事件驱动的方式解析XML文件的,它不是解析完整的一个XML文档,而是在顺序遍历整个文档的过程中,它会判断当钱读到的字符是不是合法的XML语法字符,如果符合就会触发相应的回调方法,这些回调方法是定义在ContentHandler接口中的。开发者需要重写这些方法来实现对某种XML文档的解析。
2)DOM解析XML文件
DOM解析XML文件的方式会比较消耗内存,因为它会将XML文件的所有内容读取到内存中并生成XML树,然后开发者可以用DOM API来遍历XML树、搜索检查所需要的数据。DOM解析XML文件的优点是代码看起来比较直观,而且DOM的解析方式在某些方面比SAX的方式的实现更加便捷。但是,就是因为它耗内存而移动设备硬件资源有有限,所以一般不建议使用此方法。当然了,如果XML文件的内容比较小可以考虑使用DOM方式。
3)Pull解析器解析XML文件
Pull解析器的解析方式很像SAX的解析方式。它也提供像SAX中相似的事件,比如:开始元素事件和结束元素事件,开发者可以使用parser.next()语句进入到下一个元素,并且触发相应的事件。事件会作为数值代码传入,因此可以使用switch语句来选择需要的事件进行处理。
2.Json数据的解析
用Android Java包中的JSONObject对Json数据格式的String类型数据进行解析。 Android系统平台多功能个人日历的设计与开发(4):http://www.751com.cn/jisuanji/lunwen_12067.html