`
Jclick
  • 浏览: 190114 次
  • 性别: 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开发者而言,SQLite数据库作为内置的关系型数据库解决方案,为应用提供了强大的数据存储功能。本文将详细介绍...

    android数据库共享技术

    ### Android数据库共享技术详解 #### 一、引言 随着移动应用开发的不断发展,数据存储与管理成为Android应用开发中的重要组成部分。SQLite作为一款轻量级的嵌入式数据库,因其小巧灵活的特点,在Android开发中得到...

    Android中SQLite数据库小结

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

    Android内存管理小结

    - **查询数据库没有关闭游标**:当使用SQLiteDatabase进行查询时,必须确保在完成后关闭Cursor对象,以释放相关的资源。 - **构造Adapter时未使用convertView**:在ListView或RecyclerView中使用Adapter时,重用...

    Android知识小结

    以下是对Android知识的一些小结,旨在分享遇到的问题及其解决方案,帮助开发者提升技能和解决问题。 1. **UI设计与布局**:Android使用XML来定义用户界面布局。`efefe.PNG`、`weff.PNG`可能展示了不同类型的布局,...

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

    在Android中,可以使用SQLite数据库,它是轻量级的、嵌入式的数据库,适合移动设备。Android提供SQLiteOpenHelper类来创建、升级和打开数据库,并通过ContentProvider进行数据的CRUD操作。 4. **Android UI设计**: ...

    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聊天小程序学习小结.pdf

    Android 聊天小程序学习小结 Android 聊天小程序学习小结是微信小程序开发的学习总结,涵盖了小程序开发的基础知识、开发平台配置、调试技巧、性能优化等方面的知识点。 一、基础知识 * 小程序开发需要具备的基础...

    Android异步加载图像小结 (含线程池,缓存方法).rar

    在Android应用开发中,图像加载是一个常见的...以上就是关于“Android异步加载图像小结(含线程池,缓存方法)”的主要知识点。在实际应用中,开发者应结合项目需求,合理选择和优化这些技术,以提供流畅的用户体验。

    《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讲义源码

     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应用开发揭秘》源码

     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异步加载图像小结 (含线程池,缓存方法).zip

    在Android开发中,异步加载图像是一项至关重要的技术,特别是在处理大数据量的...通过阅读"Android异步加载图像小结 (含线程池,缓存方法).doc"和解压"项目说明.rar"中的示例代码,可以更深入地学习和实践这些技术。

    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开发入门教程

    9.4 本章小结 第10章 一切为用户服务——Service应用实例 10.1 认识Service 10.2 使用Service 10.3 Service的生命周期 10.4 实例学习Service 10.4.1 精彩实例一——定时提醒 10.4.2 精彩实例二——音乐播放器 10.5 ...

    实现类似android市场多apk同时下载,更新通知栏信息小结

    在Android中,可以使用`HttpURLConnection`或者第三方库如OkHttp进行网络请求。通常,为了支持多APK下载,你需要创建一个下载管理器,它可以同时处理多个下载任务。每个任务应该包含URL、目标保存路径、当前下载状态...

    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章 地图、地理编码和基于位置的服务 ...

Global site tag (gtag.js) - Google Analytics