`
Jclick
  • 浏览: 187627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android数据库使用小结

阅读更多
任何程序离不了数据,因此数据存储是个非常重要的环节。

android中进行数据存储有三种方式,一种是文件存储,一种是SharedPreferences,最后一种就是SQLiteDatabase.下面来看下怎样使用SQLiteDatabase.

1.首先要创建一个类,该类继承自android.database.sqlite.SQLiteOpenHelper,由于这个是abstract class, 因此你需要实现该类的两个方法,一个是onCreate(),一个是onUpgrade().注:两个方法的参数都省略了。

示例如下:

view plaincopy to clipboardprint?
01.public class MySQLhelper extends SQLiteOpenHelper {  
02.    public static final String tableName = "localContact";  
03.    public static final String ID = "_id";  
04.    public static final String nameRow = "name";  
05.    public static final String numRow = "mobileNum";  
06.    public MySQLhelper(Context context, String name, CursorFactory factory, int version) {  
07.        super(context, name, factory, version);  
08.    }  
09.    @Override 
10.    public void onCreate(SQLiteDatabase db) {  
11.        db.execSQL("CREATE TABLE IF NOT EXISTS "+tableName+" ("/*+ID+" INTEGER PRIMARY KEY,"*/+nameRow+" VARCHAR,"+numRow+" VARCHAR)");  
12.    }  
13.    @Override 
14.    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
15.        // 删除以前的旧表,创建一张新的空表  
16.        db.execSQL("DROP TABLE IF EXISTS " + tableName);  
17.        onCreate(db);  
18.    }  
19.} 
public class MySQLhelper extends SQLiteOpenHelper {
public static final String tableName = "localContact";
public static final String ID = "_id";
public static final String nameRow = "name";
public static final String numRow = "mobileNum";
public MySQLhelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS "+tableName+" ("/*+ID+" INTEGER PRIMARY KEY,"*/+nameRow+" VARCHAR,"+numRow+" VARCHAR)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 删除以前的旧表,创建一张新的空表
db.execSQL("DROP TABLE IF EXISTS " + tableName);
onCreate(db);
}
}

2.在activity中,创建一个MySQLhelper的实例

view plaincopy to clipboardprint?01.MySQLhelper sqlHelper = new MySQLhelper(this,DBname,null,1);   02.SQLiteDatabase sql = sqlHelper.getWritableDatabase();  MySQLhelper sqlHelper = new MySQLhelper(this,DBname,null,1);
SQLiteDatabase sql = sqlHelper.getWritableDatabase();

此时便获得了刚刚创建的数据库实例的写入权限。

3.通过调用相应的方法如Insert(),delete()等,对数据库进行插入和删除的操作



4.示例:例如进行插入操作时,可以直接调用Insert()方法,代码如下:

view plaincopy to clipboardprint?01.ContentValues tcv = new ContentValues();   02.tcv.put(MySQLhelper.nameRow, name);   03.tcv.put(MySQLhelper.numRow, mobilePhone);   04.sql.insert(MySQLhelper.tableName, null, tcv);  ContentValues tcv = new ContentValues();
tcv.put(MySQLhelper.nameRow, name);
tcv.put(MySQLhelper.numRow, mobilePhone);
sql.insert(MySQLhelper.tableName, null, tcv);

也可以通过直接执行SQL语句的方式来插入,

view plaincopy to clipboardprint?01.sql.execSQL("INSERT INTO "+MySQLhelper.tableName+" ("+MySQLhelper.nameRow+","+MySQLhelper.numRow+") VALUES ('"+name+"','"+mobilePhone+"')");  sql.execSQL("INSERT INTO "+MySQLhelper.tableName+" ("+MySQLhelper.nameRow+","+MySQLhelper.numRow+") VALUES ('"+name+"','"+mobilePhone+"')");

两种方式最后的效果都是一样的,其他的操作都类似,不一一列举。



转载地址:http://jclick.iteye.com/admin/blogs/new
分享到:
评论
1 楼 hongmeikaile 2011-04-02  

相关推荐

    android数据库小结

    android 数据库 小结 包括 增删改 等等…… 掌握这个基本掌握android数据库

    Android中SQLite数据库小结

    Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)  SQLite 目前支持...

    android开发揭秘PDF

    6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享(ContentProviders) 6.7 小结 第7 章多媒体开发 7.1 多媒体开发详解 7.1.1 Open Core 7.1.2 MediaPlayer ...

    《Android应用开发揭秘》附带光盘代码.

     6.5 Android数据库编程  6.5.1 SQLite简介  6.5.2 SQLite编程详解  6.5.3 SQLiteOpenHelper应用  6.6 数据共享(ContentProviders)  6.7 小结  第7 章多媒体开发  7.1 多媒体开发详解  7.1.1 Open Core  ...

    《Android高级编程》

    6.4 Android中的数据库 6.4.1 SQLite简介 6.4.2 Cursor和内容值 6.4.3 使用Android数据库 6.5 内容提供器简介 6.5.1 使用内容提供器 6.5.2 本地Android内容提供器 6.5.3 创建一个新的内容提供器 6.5.4 创建和使用...

    Android入门小项目(增删查改操作)

    Android入门小项目(简单的增删查改),界面不要介意,这是给刚入门参考的,里面没有做自定义控件,后台是SSM简单搭建的,包含有数据库,开发工具为Android studio与eclipse

    《Android应用开发揭秘》源码

     6.5 Android数据库编程  6.5.1 SQLite简介  6.5.2 SQLite编程详解  6.5.3 SQLiteOpenHelper应用  6.6 数据共享(ContentProviders)  6.7 小结  第7 章多媒体开发  7.1 多媒体开发详解  7.1.1 Open Core  ...

    Android应用开发揭秘pdf高清版

    6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享(ContentProviders) 6.7 小结 第7 章多媒体开发 7.1 多媒体开发详解 7.1.1 Open Core 7.1.2 MediaPlayer ...

    Android开发与应用——张荣,原书配套课件

    1.5 小结 练习 第2章 Android开发环境 2.1 Java开发环境安装 2.1.1 安装JDK 2.1.2 安装Eclipse 2.1.3 Eclipse中文包的安装 2.2 Android SDK 2.2.1 安装ADT 2.2.2 安装Android SDK 2.3 Android...

    Android高级编程--源代码

    6.4.3 使用Android数据库 177 6.5 内容提供器简介 189 6.5.1 使用内容提供器 190 6.5.2 本地Android内容提供器 192 6.5.3 创建一个新的内容提供器 194 6.5.4 创建和使用地震内容提供器 197 6.6 小结 206 第7...

    疯狂Android讲义源码

     1.7 本章小结 33  第2章 Android应用的界面编程 35  2.1 界面编程与视图(View)组件 36  2.1.1 视图组件与容器组件 36  2.1.2 使用XML布局文件控制UI  界面 40  2.1.3 在代码中控制UI界面 41  2.1.4 使用...

    android开发入门与实战(下)

    1.6 本章小结 第2章 工欲善其事 必先利其器——搭建Android开发环境 2.1 开发Android应用前的准备 2.1.1 Android开发系统要求 2.1.2 Android软件开发包 2.1.3 其他注意事项 2.2 Windows开发环境搭建 2.2.1 JDK、...

    Android开发案例驱动教程 配套代码

    本章小结 42 第4章 UI基础知识 43 4.1 Android UI组件概述 43 4.1.1 View 43 4.1.2 ViewGroup 44 4.1.3 布局管理器 44 4.2 UI设计工具 44 4.2.1 DroidDraw工具 44 4.2.2 ADT插件UI设计工具 46 4.3 事件处理...

    Android高级编程.pdf

    6.4.3 使用Android数据库 6.5 内容提供器简介 6.5.1 使用内容提供器 6.5.2 本地Android内容提供器 6.5.3 创建一个新的内容提供器 6.5.4 创建和使用地震内容提供器 6.6 小结 第7章 地图、地理编码和基于位置的服务 ...

    基于Android的家庭理财系统的设计与实现.rar(毕业论文设计+程序源码) android studio导入可直接打开

    2.5本章小结 16 第3章 需求分析与数据库设计 16 3.1需求分析 16 3.1.1功能性需求分析 16 3.12非功能性需求分析 17 3.2系统数据库设计 17 3.2.1数据库概念结构设计 17 3.2.2数据库逻辑结构设计 18 第4章 详细设计与...

    精通ANDROID 3(中文版)1/2

    1.8 小结  第2章 设置开发环境  2.1 设置环境  2.1.1 下载JDK 6  2.1.2 下载Eclipse 3.6  2.1.3 下载Android SDK  2.1.4 命令行窗口  2.1.5 安装ADT  2.2 了解基本组件  2.2.1 View  2.2.2 ...

Global site tag (gtag.js) - Google Analytics