`
lrc_1986
  • 浏览: 95499 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

传智播客--Pull解析XML文件,SharedPreferences,SQLite数据库

阅读更多
转载:http://blog.csdn.net/getclass/archive/2010/03/01/5336832.aspx
================================================================================
随着我们学习的深入,这几天学习的内容越来越精彩了.作为应用开发,我们不可避免的得对数据进行操作.Android就为我们提供了很多种,存放数据和读 取数据的方法.在开发中,减少开发周期提高系统的健壮行.
今天我们就学习Android系统中使用对XML解析的技术Pull.和大大方便我们存 储和读取软件参数的类SharedPreferences.还有系统中提供的嵌入式关系型数据库SQLite的使用和相关操作.

1.使用Pull解析XML文件
这 个是Android系统中使用的方法.推荐使用.
1)读取使用到的 主要方法:
得到一个解析器:XmlPullParser parser = Xml.newPullParser();
传 进一个输入流:parser.setInput(inStream, "UTF-8");
得到事件类 型:parser.getEventType();
判断是否是文件结尾:XmlPullParser.END_DOCUMENT
判断是否 是文件开始:XmlPullParser.START_DOCUMENT:
判断是否是标签开始:XmlPullParser.START_TAG
判 断是否是标签结束:XmlPullParser.END_TAG   
将指针往下推:parser.next();
2)写入使用到的主要方法:
初始化工具 类:XmlSerializer serializer = Xml.newSerializer();
传入输入 流:serializer.setOutput(writer);
对文档进行相关设 置:serializer.startDocument("UTF-8", true);
文档开 始:serializer.startTag("", "persons");
设置标签相关属 性:serializer.attribute("", "id", String.valueOf(person.getId()));
设置文 本信息:serializer.text(String.valueOf(person.getAge()));
设置标签结 束:serializer.endTag("", "age");
设置文档结束:serializer.endDocument();

2.使用SharedPreferences 进行数据存储
1)写出参数:
对工具类初始化:SharedPreferences sharedPreferences = getSharedPreferences("itcast",Context.MODE_PRIVATE);
获取编辑器:Editor editor = sharedPreferences.edit()
设置相关参数:editor.putString("name", " 传智播客 ");
提交修改:editor.commit();
2)读取参数:
String name = sharedPreferences.getString("name", "");
总结:
--特别适合用于保存软件配置参数
--实际也是用xml文件存放数据
--文件存放在 /data/data/<package name>/shared_prefs 目录下
--不要忘记提交,否 则不生效.
--读取的时候,要主要在创建的时候是否给了读取的权限.
--如果 preference 中不存在该 key ,将返回缺省值

3.SQLite 数据库存储数据
1)SQLiteOpenHelper 通过继承这个类,复写下面两个方法对数据库进行版本的控制.
如果程序第一次执行,不存在数据库,执行这个方法创建数据库:onCreate()
如 果数据库存在或存在的数据库版本低于创建版本,执行这个方法更新数据库:onUpgrade()
将数据库以写入方式打开,如果满了,报 错:getWritableDatabase()
将数据库以读写方式打开,如果满了,只读:getReadableDatabase()
2)操作数据库
例如:
SQLiteDatabase db = ....;
db.execSQL("insert into person(name, age) values(' 传智播客 ', 4)");
db.close();
-执行SQL语句,可以增删改:db.execSQL("insert into person(name, age) values(?,?)", new Object[]{" 传智播客 ", 4});
-执行SQL语句, 可以进行查询:db.rawQuery("select * from person where name like ? and age=?", new String[]{"% 传智 %", "4"});
-插入:db.insert(“person”, null, values);
- 删除:db.delete("person", "personid<?", new String[]{"2"});
-更 新:db.update("person", values, "personid=?", new String[]{"1"});
-查 询:db.query("person", new String[]{"personid,name,age"}, "name like ?", new String[]{"% 传智 %"}, null, null,
"personid desc", "1,2");
3)事务操作
-开启事 物:db.beginTransaction();
-调用此方法会在执行到 endTransaction() 时提交当前事务,如果不调用此方法会回滚事务
-由事务的标志决定是提交事务,还是回滚事务:db.endTransaction()
总结:
--这个是嵌入式关系型数据库.
--什么类型存 什么数据都行,弱数据类型的数据库.
--定义为INTEGER PRIMARY KEY的字段只能存储64位整数
--在执行onUpgrade() 方法更新数据库时,要注意对原来数据的备份
--对数据库的操作是单用户的,所以推荐不关闭数据库,提高效率.
分享到:
评论

相关推荐

    13pull解析xml天气信息

    有时也会考虑缓存策略,如使用SQLite数据库或SharedPreferences存储数据,避免频繁的网络请求。 7. **UI更新**:将解析出的天气信息展示在用户界面上,这通常涉及Android的布局管理(如LinearLayout、...

    传智播客的android开发源代码

    15_采用Pull解析器解析和生成XML内容.avi 所在项目:xml 16_采用SharedPreferences保存用户偏好设置参数.avi 所在项目:SharedPreferences 17_创建数据库与完成数据添删改查.avi 所在项目:db 18_在SQLite中使用事务...

    传智播客Android视频教程-课程源码.rar

    5&gt; XML解析(SAX/DOM/PULL),写xml文件 6&gt; SharedPreferences 第三天 1&gt; SQLite数据库添删改查操作 A.创建数据库 B.SQLiteOpenHelper自动创建数据库的原理实现 C.数据库版本变化 D.编写代码完成添删改查操作...

    用pullXML解析本地数据并存在本地

    要将解析后的数据存回本地,可以选择多种方式,如JSON、SQLite数据库、共享首选项(SharedPreferences)或文件存储。这里以文件存储为例,假设我们解析的是一个包含多条记录的XML文件,每条记录都有一个唯一的ID。...

    Android-chapter04XML.ppt

    本章主要介绍了四种常见的数据存储方式,包括文件存储、SharedPreferences、SQLite数据库以及ContentProvider,同时提到了网络存储。我们将深入探讨文件存储和XML序列化与解析。 **1. 文件存储** 文件存储是最基础...

    Android高级应用源码-Android解析服务端XML.zip

    Android提供了SQLite数据库、SharedPreferences和Room等机制,源码中可能会展示如何将XML数据存入本地。 9. 错误处理和日志:在解析过程中,可能会遇到各种错误,如网络问题、格式错误等。源码会展示如何捕获和处理...

    android-xml.rar_android

    除此之外,Android还使用XML进行数据持久化,例如SQLite数据库中的表结构定义,或者是通过SharedPreferences保存用户偏好设置。XML还可以作为网络通信的数据格式,例如在SOAP或RESTful API中传递数据。 总之,XML在...

    Xml.zip_android

    在Android中,XML还可以用于数据的持久化存储,如SQLite数据库的Schema定义、SharedPreferences的键值对存储等。 7. Android的XML动画: Android支持XML定义的动画效果,如属性动画(Property Animation)、帧动画...

    移动结业考试题

    【移动结业考试题】涉及的是Android开发的基础知识,包括Android四大组件、布局管理、动画类型、XML解析方式以及ListView的优化策略。以下是对这些知识点的详细解释: 1. **Android四大组件**: - **Activity**:...

    Android Rss订阅源码Demo.zip源码资源下载

    - **缓存策略**:为了避免频繁的网络请求,可以将RSS数据缓存在本地,如SQLite数据库或SharedPreferences。 - **懒加载**:只在需要时加载和显示数据,提高应用性能。 总之,“Android Rss订阅源码Demo”是一个...

    黎活明android教程的全程PPT

    5&gt; XML解析(SAX/DOM/PULL),写xml文件 6&gt; SharedPreferences 第三天 1&gt; SQLite数据库添删改查操作 A.创建数据库 B.SQLiteOpenHelper自动创建数据库的原理实现 C.数据库版本变化 D.编写代码完成添删改查操作(两...

    android面试宝典2012

    - **SAX**:事件驱动的解析器,只读取XML文件的一部分,内存占用低,适用于大文件或流式处理。 - **DOM**:将整个XML文件加载到内存中,形成一棵树结构,便于遍历和查询,但不适合内存有限的设备。 - **PULL解析...

    Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题

    - **DOM解析器**:加载整个XML树到内存,便于操作,适合小文件。 - **Pull解析器**:类似于SAX,但更易于使用,适用于流式处理。 - 官方推荐使用Pull解析器,因为它既高效又灵活。 5. **ListView优化**: - ...

    基于android平台的RSS阅读器设计与实现.pdf

    3. **数据持久化**:在Android中,数据持久化有多种方式,如SharedPreferences、文件存储、SQLite数据库、网络存储和Content Provider。为了实现离线阅读和节省流量,通常选择SQLite数据库来存储RSS Feed的元信息和...

    我的书架 android

    - Android提供了多种解析XML的方式,如DOM解析、SAX解析和Pull解析。在“我的书架”中,XML文件可能被用来存储图书的数据,如书名、作者、出版社和ISBN号等。开发者可能选择了其中一种或多种解析策略来读取和处理...

    Android 团购网站解析素材

    为提高用户体验,可以将部分数据缓存在本地(如SQLite数据库或SharedPreferences)。当网络不可用时,可以读取缓存数据,减少用户等待时间。 8. **权限申请**: 自Android 6.0(API 23)起,需要在运行时动态申请...

    Android面试资料

    根据提供的文件内容,我们可以整理出以下关键知识点,这些知识点涵盖了Android开发中的多个方面,包括系统架构、布局管理、数据存储方式、核心组件介绍、UI组件理解以及XML解析技术。 ### Android系统架构 - **...

    Android代码-蓝虫火车票余票查询源码.zip

    - XML解析:中国铁路官方网站的余票数据可能以XML格式提供,源码中可能有解析XML的逻辑,如使用了PullParser或SAX解析器。 - 数据模型:定义了对应的Java类来存储火车票信息,便于处理和展示数据。 4. **用户界面...

    Android常用40道面试题

    - SQLite数据库:结构化数据存储,支持查询操作。 - ContentProvider:跨应用共享数据。 7. **Activity启动模式**: - standard:默认模式,每次启动新实例。 - singleTop:如果栈顶已有该Activity实例,则重用...

    Android基础-03

    SQLite数据库适合结构化的数据,SharedPreferences适合轻量级的键值对数据,文件存储则适用于任意类型的文件,而ContentProvider则是用于在应用之间共享数据的标准接口。 此外,XML文件在Android开发中扮演着重要...

Global site tag (gtag.js) - Google Analytics