加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Androidx学习笔记(19)-- SQLite 简介

发布时间:2020-12-12 19:34:29 所属栏目:百科 来源:网络整理
导读:轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHelper 必须定义一个构造方法: //arg1:数据库文件的名字//arg2:游标工厂//arg3:数据库版本public MyOpenHelper(Context context,String name,CursorFactory factory,int version){} 数据库被创建时
  • 轻量级关系型数据库
  • 创建数据库需要使用的api:SQLiteOpenHelper


    • 必须定义一个构造方法:

      //arg1:数据库文件的名字
      //arg2:游标工厂
      //arg3:数据库版本
      public MyOpenHelper(Context context,String name,CursorFactory factory,int version){}
    • 数据库被创建时会调用:onCreate方法
    • 数据库升级时会调用:onUpgrade方法

创建数据库

//创建OpenHelper对象
MyOpenHelper oh = new MyOpenHelper(getContext(),"person.db",null,1);
//获得数据库对象,如果数据库不存在,先创建数据库,后获得,如果存在,则直接获得
SQLiteDatabase db = oh.getWritableDatabase();
  • getWritableDatabase():打开可读写的数据库
  • getReadableDatabase():在磁盘空间不足时打开只读数据库,否则打开可读写数据库
  • 在创建数据库时创建表

    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("create table person (_id integer primary key autoincrement,name char(10),phone char(20),money integer(20))");
    }

代码
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyOpenHelper extends SQLiteOpenHelper {
	public MyOpenHelper(Context context,int version) {
		super(context,name,factory,version);
		
	}
	//数据库创建时,此方法会调用
	@Override
	public void onCreate(SQLiteDatabase db) {
		System.out.println("数据库创建了");
	}
	//数据库升级时,此方法会调用
	@Override
	public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
		System.out.println("数据库升级了");
	}
}

测试代码
import com.exp.sqlitedatabase.MyOpenHelper;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.test.AndroidTestCase;
public class TestCase extends AndroidTestCase {

	public void test(){
		//getContext():获取一个虚拟的上下文
		MyOpenHelper oh = new MyOpenHelper(getContext(),"people.db",1);
		//如果数据库不存在,先创建数据库,再获取可读可写的数据库对象,如果数据库存在,就直接打开
		SQLiteDatabase db = oh.getWritableDatabase();
		//如果存储空间满了,那么返回只读数据库对象
//		SQLiteDatabase db = oh.getReadableDatabase();
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读