XML是一种常用的存储数据方式,在Android平台中内部很多地方使用了XML存储,比如轻量级的SharedPreferences类的存储其实保存在Data/data/[package name]/db。如果你使用的不是Android Dev Phone或没有Root权限,可以通过Android模拟器来查看。 XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。 XML解析实例:-天气预报程序的开发: Google为我们提供了很多利用天气预报的程序开发,比如MyLocation API和Google Weather API,这里我们就以中国上海来举例,查询上海天气我们执行http://www.google.com/ig/api?weather=Shanghai,China 可以看到,最后的weather=后面就是城市的拼音名称。 完整的XML文件结构为: <?xml version="1.0" ?> – <xml_api_reply version="1"> – <weather module_id="0" tab_id="0"> – <forecast_information> <city data="Shanghai,China" /> <postal_code data="Shanghai,China" /> <latitude_e6 data="" /> <longitude_e6 data="" /> <forecast_date data="2008-12-17" /> <current_date_time data="2008-12-17 16:00:00 +0000" /> […]
XML解析
Android中的XML解析各种方式对比 Android开发技术
随着Web2.0的兴起XML越来越受大家重视,作为一种标准的数据存储方式Android是如何支持的呢? 在android平台中提供了多种xml parser解析器,常见包含dom、sax、pull这样的主流方法。目前G1的处理器和内存相对于MIDP设备来说大了很多,对于数据量小于10KB以内的文件使用Dom方式比较方便,主要是XPath查找很好,android123提示如果是一个属性之多的大型文件可以通过sax这样的单向流方式解析,它的好处就是不占用太多的内存,但是控制起来和代码量都是比较大的。这里和J2ME的KXML相同的内核。 Android平台中相对于常规的存储,SharedPreferences足够保存,但是他无法很好的处理外部文件,比如存放在sdcard中的内容,而XML可以很好的决绝,对于复杂的文件和多种方式查询,可以使用结构化的数据库语言SQL来解决,不过SQLite的性能一直表现一般,在资源占用上还是很大的。

