树懒_移动开学笔记_day22_pull解析与SQLite

来源:互联网 发布:网络诈骗安全选择题 编辑:程序博客网 时间:2024/06/06 00:32

树懒
day22

pull解析与移动存储

一、pull解析 xml文件

  1. java中xml文件的解析方式
    dom解析: 把文件先导入到内存,再解析,不很适合手机设备
    sax解析:边导入,边解析,以事件驱动的形式来解析xml文件,当解析到一个节点,回调该节点类型的方法
    直到文档结尾
    pull解析:边导入,边解析,以事件驱动的形式来解析xml文件,当解析到一个节点,返回的是该节点的类型(int 整数),不再继续解析,需要手动指向下一个节点 ,直到文档的结尾 ,pull解析默认会自动解析第一个节点

  2. pull解析的特点
    事件驱动机制来解析
    当解析到一个节点,会自动停止,不会往下继续解析,好处 :很好能够控制流程
    android默认采用pull解析

  3. pull解析的事件类型
    start_document :开始文档事件 ,事件类型
    end_docuent :结束文档事件
    start_tag: 开始标记
    end_tag :结束标记

    二、Sqlite数据库 :关系型数据库

    1.特点与描述:
    Sqlite数据库,是一个非常轻量的关系型数据库,Android框架已经嵌入了sqlite原生库
    sqlite3支持的数据类型: null、integer、text、real(实数)、blob(二进制大数据),
    也支持其他的类型:varchar、nVarchar、decimal等,会转化成相应的类型
    支持的操作: 支持标准sql语句、表、视图、触发器、事务等
    以文件的形式存放数据库文件,存放的是用户的私有数据
    位置/data/data//databases

    2.访问数据库的流程

    1. 通过SqliteOpenHelper来创建或者打开数据,编写类,继承SqliteOpenHelper

      1. 构造方法: 创建和打开数据库
      2. onCreate方法: 当数据库第一次创建的时候,回调该方法,初始化数据库,比如创建表
      3. onUpgrade :数据库版本的更新方法
    2. 通过SQLiteDatabase对象来操纵数据库
      SQLiteDatabase db=SqliteOpenHelper.getReadableDatabase()\getWriteableDatabase()
      增删改查
      事务 :不可分割,原子性 ,共进退 : 取钱 : 在账号扣钱 atm 拿到钱
      模拟银行转账

    3. 展示数据: ListView

    3.常用的API
    SqliteOpenHelper
    SQLiteDatabase

    4.采用SimpleCursorAdapter 适配数据
    游标Cursor关联的表必须要有_id 作为主键

  4. 通过 sqlite3命令来查看数据库中的数据
    进入linux环境 adb shell
    进入到当前包的/databases/目录
    sqlite3 itcast.db
    写sql语句

开发一个JEE 项目 ,基于关系型数据库mysql 、orcacle 实现流程:
1. 分析数据,先通过视图来创建数据库
domain :域 t_product(字段 ) java :面向对象 Product 类
Hibernate :逆向工程,把表自动生成java类
2. 访问数据库 ,通过jdbc访问数据库
驱动 、建立连接 Connection
执行对象 执行sql语句 Statement PrepareStatement: 设置占位符 ?
ResultSet:结果集
遍历结果集
开发一个android项目 ,基于关系型数据库Sqlite ,实现流程
1. 一般第一次访问数据库的时候创建数据库
通过sql语句 创建数据库、创建表、添加初始数据
直接把初始数据itcast.db 发布到assets 资产目录中 ,因为assets中的文件会与apk一同发布出去
当用户安装了apk时,运行项目的时候再把assets的itcast.db 文件拷贝到 /data/data/<包名>/database
2. 操纵数据库
SqliteDatabase 工具
3. 操纵:
增删改查、事务
4. 结果 Cursor :游标

0 0
原创粉丝点击