Android(安卓)SQLiteOpenHelper Sqlite数据库的创建与打开
16lz
2021-12-26
Android Sqlite数据库是一个怎样的数据库?
答:是一种嵌入式小型设备,移动设备,的数据库,应用在穿戴设备(例如:智能手表,计算手环 等等),移动设备(例如:Android系统类型的手机 等等),属于嵌入式关系型数据库。
在Android开发过程中,只需调用Android所提供的Sqlite API接口,底层会调用Sqlite.c 程序去生成数据库,创建表字段 等等;
虽然在Android Sqlite3 支持了 null,integer,real,char(n),varchar(n),decimal(p,s),这些类型,但是 请注意:除了ID唯一主键是integer类型,其他所有类型,最后都会变成TEXT类型。
在Android API中提供了,SQLiteOpenHelper对数据库创建,管理操作等;
创建表的语句:create table student_table(_id integer primary key autoincrement, name text);
import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MySQLiteOpenHelper extends SQLiteOpenHelper { /** * 数据库的名称 */ private static final String DATABASE_NAME = "PersonDB.db"; /** * 数据库的版本号,以后要升级数据库,修改版本号为 +1 即可 */ private static final int DATABASE_VERSION = 1; private static MySQLiteOpenHelper instance; /** * 单例模式 * @param context 传入上下文 * @return 返回MySQLiteOpenHelper对象 */ public static MySQLiteOpenHelper getInstance(Context context) { if (null == instance) { synchronized (MySQLiteOpenHelper.class) { if (null == instance) { instance = new MySQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION); } } } return instance; } // 构造方法不对外暴露 private MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } // 构造方法不对外暴露 private MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) { super(context, name, factory, version, errorHandler); } // 初始化操作,会执行onCreate @Override public void onCreate(SQLiteDatabase db) { // 创建一个 student_table表 db.execSQL("create table student_table(_id integer primary key autoincrement, name text);"); } // 用于升级数据库,当Version 变动了,就会调用onUpgrade方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
sqLiteOpenHelper.getWritableDatabase();,没有数据库就创建数据库,有数据库就打开数据库。
@Override public void onClick(View v) { MySQLiteOpenHelper sqLiteOpenHelper = MySQLiteOpenHelper.getInstance(MainActivity.this); sqLiteOpenHelper.getWritableDatabase(); }
生成完成:
看看表结构:
谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006
更多相关文章
- android 的短信数据库的读取
- Android(安卓)Studio 2.2 NDK开发环境搭建
- Android创建wifi热点爬坑总结
- 在 Android(安卓)上使用 RxNetty
- Android教程之MediaStore(轉)
- Android(安卓)NoSQL之SnappyDB
- Android(安卓)Handler 异步消息处理机制的妙用 创建强大的图片加
- Android中SQLite应用详解
- Android平台上sqllite 简介