Android使用SQLite数据库的简单实例_Android

先画个图,了解下Android下数据库操作的简单流程:

1.首先,写一个自己的数据库操作帮助类,这个类继承自Android自带的SQLiteOpenHelper.

2.在自己的DAO层借助自己的Helper写数据库操作的一些方法

3.Activity调用DAO层的数据库操作方法进行操作

下面例子是:

1.Helper

复制代码 代码如下:

package cn.learn.db.util;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class DBHelper extends SQLiteOpenHelper {

 private final static String DB_NAME ="test.db";//数据库名
 private final static int VERSION = 1;//版本号

 //自带的构造方法
 public DBHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
 }

 //为了每次构造时不用传入dbName和版本号,自己得新定义一个构造方法
 public DBHelper(Context cxt){
  this(cxt, DB_NAME, null, VERSION);//调用上面的构造方法
 }

 //版本变更时
 public DBHelper(Context cxt,int version) {
  this(cxt,DB_NAME,null,version);
 }

 //当数据库创建的时候调用
 public void onCreate(SQLiteDatabase db) {
  String sql = "create table student(" +
      "id integer primary key autoincrement," +
      "name varchar(20)," +
      "age int)";

  db.execSQL(sql);
 }

 //版本更新时调用
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  String sql  = "update student ....";//自己的Update操作
  db.execSQL(sql);
 }

}

2.写DAO层

复制代码 代码如下:

package cn.learn.db.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import cn.learn.db.dao.domain.Student;
import cn.learn.db.util.DBHelper;

public class StudentDao {

 DBHelper helper = null;

 public StudentDao(Context cxt) {
  helper = new DBHelper(cxt);
 }

 /**
  * 当Activity中调用此构造方法,传入一个版本号时,系统会在下一次调用数据库时调用Helper中的onUpgrade()方法进行更新
  * @param cxt
  * @param version
  */
 public StudentDao(Context cxt, int version) {
  helper = new DBHelper(cxt, version);
 }

 // 插入操作
 public void insertData(Student stu) {
  String sql = "insert into student (name,age)values(?,?)";
  SQLiteDatabase db = helper.getWritableDatabase();
  db.execSQL(sql, new Object[] { stu.name, stu.age });
 }

 // 其它操作

}

完成这些,其它操作就简单了....

另外,数据库文件放在这个目录

时间: 2024-09-15 15:08:59

Android使用SQLite数据库的简单实例_Android的相关文章

Android 开发程序锁应用简单实例_Android

1.基本思路 ①.创建已加锁应用的数据库(字段:_id,packagename),如果应用已加锁,将加锁应用的包名维护到数据库中 ②.已加锁+未加锁 == 手机中所有应用(AppInfoProvider) 2.已加锁和未加锁的数据适配器 class MyAdapter extends BaseAdapter{ private boolean isLock; /** * @param isLock 用于区分已加锁和未加锁应用的标示 true已加锁数据适配器 false未加锁数据适配器 */ pub

Android中AnimationDrawable使用的简单实例_Android

首先,可以在drawable文件夹下定义一个xml的文件.如下所示: 复制代码 代码如下: <animation-list xmlns:android="http://schemas.android.com/apk/res/android"    android:oneshot="true">    <item android:drawable="@drawable/compass_1" android:duration=&qu

android动态壁纸调用的简单实例_Android

调用后动态壁纸其实是显示在Activity的后面,而Activity则是透明显示,这样就可以看到下面的动态壁纸,如果Activity不是透明的则什么也看不到. 代码中有用到两个接口 IWallpaperService mService; IWallpaperEngine mEngine; 我们可以看到该目录下面有三个aidl接口,分别是 复制代码 代码如下: interface IWallpaperConnection {     void attachEngine(IWallpaperEngi

Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解_Android

本文实例讲述了Android操作SQLite数据库(增.删.改.查.分页等)及ListView显示数据的方法.分享给大家供大家参考,具体如下: 由于刚接触android开发,故此想把学到的基础知识记录一下,以备查询,故此写的比较啰嗦: 步骤如下: 一.介绍: 此文主要是介绍怎么使用android自带的数据库SQLite,以及把后台的数据用ListView控件显示 二.新建一个android工程--DBSQLiteOperate 工程目录: 三.清单列表AndroidManifest.xml的配置

Android管理与操作Wifi简单实例源码_Android

因为需要一直在弄网络的问题,今天看了一下Wifi的操作,经过整理,做出来了一个类,可能不全,但是个人感觉已经完全能够满足需要了,当然,里面的方法也有可能是错误的或者是不全的,这个类我没有进行完整的测试,只测试了其中的一些方法. 其实操作Wifi也是很简单的,主要使用以下几个对象或变量: private WifiManager wifiManager;// 声明管理对象OpenWifi private WifiInfo wifiInfo;// Wifi信息 private List<ScanRes

Android开发入门之对话框简单用法_Android

本文实例讲述了Android开发入门之对话框简单用法.分享给大家供大家参考,具体如下: 注:本文只是一个学习笔记 用以记录自己学到哪了 1.获得AlertDialog的静态内部类Builder对象,由此类来创建对话框 2.通过Builder对象设置对话框的标题 按钮以及按钮响应的事件 3.调用Builder的Create()方法创建对话框 4.调用AlertDialog的show()方法显示对话框 main.xml文件 <?xml version="1.0" encoding=&

Android使用Sqlite存储数据用法示例_Android

本文实例讲述了Android使用Sqlite存储数据的方法.分享给大家供大家参考,具体如下: 一般在开发程序中,经常使用数据的存储功能,如在使用Delphi开发程序时,存储程序的简单设置的INI文件,在C#开发中有时也需要存储简单的设置,个人一般存储在XML中,也在INI中存储过,但是不如XML使用方便,那么这些都是简单的数据存储功能,在Android中也支持这样的文件存储,但是现在这里主要说的还是使用SQLite存储数据,SQLite是一种跨平台的数据库,是单文件式的,如咱们平常见的最多的Ac

android 有关sqlite数据库的问题

问题描述 android 有关sqlite数据库的问题 写了个简单的登录注册界面,总是出现这个问题,求大神啊啊啊 都快被搞疯了啊啊啊啊啊,麻烦熟练Android的大神帮个忙啊 解决方案 Android中Sqlite数据库多线程并发问题Android中Sqlite数据库多线程并发问题解决SQLite数据库中文乱码问题 解决方案二: 查看一下你的sql语句是否正确. 解决方案三: 在网上查了一下 大部分说的 没有关闭数据库. 更重要的是,我想你应该重用sqlhandler对象,把它作为一个场变量.问

sqlite-使用android的SQLite数据库能存储多大数据

问题描述 使用android的SQLite数据库能存储多大数据 看到网上说SQLite数据库的大小是2TB,但是我觉得这个数据库不应该跟手机内存相联系吗?android上的SQLite数据库真的能容纳下2TB的数据吗??? 解决方案 很明显android上的SQLite数据库是放不下2TB的数据 解决方案二: 一个是sqlite数据库本身最大容量,但是sqlite数据库文件是放在手机上的,所以它也会受到手机存储空间大小限制的.对于android程序,你不能占有太多空间.可以把一些数据放服务器上.