zoukankan      html  css  js  c++  java
  • android与SQLite的小总结

    关于SQLite的一些基础知识,网上很多,例如http://wenku.baidu.com/view/dfd52e0d6c85ec3a87c2c5e0.html,在这里就只是小小地总结下在Android开发中SQLite的一些关键点吧。

    SQLite的前世今生大家都懂得的,一个轻量级数据库可以说就是一个文件组织体系,一个兼容大部分数据库语法的嵌入式数据库。因为在android的SDK对其提供了支持,所以大部分android的开发中,APP内部文件系统的建立都离不开SQLite。

    首先,数据库都有创、增、改、删、查这几个操作。所以就对这几个做个小结吧。

    1、数据库创建,调用父类 SQLiteOpenHelper 的构造函数,进行构造。这个方法需要四个参数:上下文环境(例如,一个 Activity,通常是this),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数(自己定义)。其中的onCreate()方法会在第一次创建数据库的时候被调用。因此常常在此oncreate()里面写入建表语句。例如db.execSQL(CREATE_TABLE_SQL_RES);

    final String CREATE_TABLE_SQL_RES=

    "create table IF NOT EXISTS res_data (id integer primary key autoincrement," +
    " uid varchar(60), web varchar(60),url varchar(255), name uvarchar(60),realated varchar(60))";

    特别在建表过程中值得一提的是,必须实体化helper方法才能建表成功,例如db = dbhelper.getWriteableDatabase();

    2,增、改的操作,可以使用db.execSQL();使用数据库操作语法操作,同时也可以通过android里的insert()和update()方法操作。个人建议后者,因此这些操作跟android的代码风格更加统一,而且出错时的错误报告也更加明显。具体的使用方法很多文章里面也是没有写,在这里特别写一下,

    public static SQLiteHelper dbhelper;
    public static SQLiteDatabase db;

    dbhelper = new SQLiteHelper(this,"4pics.db3",null,1);
    db = dbhelper.getWritableDatabase();

    db.insert(。。。。。。);

    3 查询 查询方法主要是用rawQuery和query,两者中前者的直观性更好,更符合数据库操作语句的风格,而后者在面对动态变量的时候具有更好的操作性。推荐使用后者。

    这两个方法的调用返回的都是游标,游标类似于一个数据库的索引号,就跟你去图书馆借书,你通过查询系统查到的先是一个书号,然后你再根据这个书号找到你所需要借的书。这个游标就是这个意思。

    得到游标之后需要把游标所代表的数据取出来,这时候就需要用到getString()和getInte语句。这两个语句的作用顾名思义就都清楚了。唯一需要特别说明的是,这里取到的游标是一整个游标系,返回值是在最后一个游标上,直接转换是没有结果的。因此需要先动用moveToFirst函数,才能得到真正的数据。

    给个例子吧,

    Cursor c = db.query("res_data", columns, "id=?",parms, null, null, null);
    int nameColumnIndex = c.getColumnIndex("name");
    c.moveToFirst();
    FILE_NAME = c.getString(nameColumnIndex);

    4 SQLite的主要操作中的一些重点就这些了,整体还是很轻量级很好用的,至于是否要结合contentProvider来使用就按照具体的项目所需了,以后有机会再写下Provider的应用吧。

    zhuzheic

  • 相关阅读:
    [LeetCode] String to Integer (atoi) 解题报告
    [LeetCode] Spiral Matrix 解题报告
    推导基姆拉尔森公式根据日期计算星期
    gdb常用命令的用法
    利用基姆拉尔森公式根据日期计算星期
    RIM推出BlackBerry SDK 助力开发者多种应用程序开发
    ERP环境下物料清单的数据结构研究[转]
    VSTO EXCEL篇学习笔记五【原】
    高德纳传奇[转]
    PLM中BOM核心技术的研究[转]
  • 原文地址:https://www.cnblogs.com/zhuzheic/p/2617083.html
Copyright © 2011-2022 走看看