SQLiteOpenHelper是一个抽象类,要使用它必须写一个类继承它。SQLiteOpenHelper有两个抽象方法onCreate()和onUpgrade(),我们要在类里面重写这两个方法来实现创建和更新数据库。

    SQLiteOpenHelper类里还有两个重要实例的方法getReadableDatabase和getWritableDatabase(),这两个方法都可以打开或者创建一个数据库。不同的是,当数据库不可写入的时候,例如磁盘空间已满的时候,getReadableDatabase()方法以只读的形式打开数据库,而getWritableDatabase()方法会出现异常。

    重写SQLiteOpenHelper类的两个构造方法一般使用参数少的那个,它接受四个参数,第一个参数为context上下文,第二个参数是表名,第三个参数允许我们在查询数据的时候返回一个自定义的Cursor,一般传入null即可。第四个参数是当前数据库的版本号,可用于对数据库进行升级。

    构建出SQLiteOpenHelper的实例之后,再调用它的getReadableDatabase()或者getWritableDatabase()去创建数据库。

    eg:

      创建一个名字为MyDatabase.db的数据库,新建一张User表,表中有id(主键),name,password属性。

      创建User表的建表语句如下:

      create table User{

        id integer primary key autoincrement,//integr: 整形  primary key:主键,唯一键  autoincrement:自增长

        name text,//text:文本类型,另外real为浮点型,blob二进制类型

        password text)

      在代码中执行这条SQL语句,完整如下:

        

public class MyDatabaseHelper extends SQLiteOpenHelper {

public static final String CREATE_USER = "create table uer ("
+ "id integer primary key autoincrement, "
+ "name text, "
+ "password text, "
)";
private Context mContext;
public MyDatabaseHelper(Context context, String name, CursorFactory
factory, int version) {
super(context, name, factory, version);
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_USER);
Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}

  

      

    

【Android】数据库的简单应用——创建数据库的更多相关文章

  1. 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库

    1.    检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...

  2. MySQL数据库实验:任务一 创建数据库和表

    目录 任务一 创建数据库和表 [实训目的与要求] [实训原理] [实训步骤] 一.熟悉MySQL环境 二.利用MySQL命令行窗口创建数据库及表 三.利用界面工具创建数据库及表 任务一 创建数据库和表 ...

  3. 数据库入门(mySQL):创建数据库

    基于JetBrains DataGrip创建数据库.SQL语句创建数据库 MySQL数据库存储引擎和数据类型 创建数据库表及基本操作 导出数据库.删除数据库.导入数据库 一.基于JetBrains D ...

  4. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

  5. Android——SQLite数据库(一)创建数据库、创建表、初始化数据

    xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...

  6. sqlserver 简单的创建数据库

    简简单单,作为不是牛逼的程序来说,这是很容易忘记的sql语句: use mastergo --判断是否存在该数据库if exists(select *from Sysdatabases where n ...

  7. Django Setting文件配置和简单的创建数据库字段

    Django Settings文件配置 静态文件配置 STATIC_URL = '/static/' # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_D ...

  8. asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库

    1.首先下载vs2015的Asp.Net Core(RC2)的插件工具(https://www.microsoft.com/net/core#windows)2.创建一个asp.net Core的项目 ...

  9. mysql数据库的基本操作:创建数据库、查看数据库、修改数据库、删除数据库

    本节相关: 创建数据库 查看数据库 修改数据库 删除数据库 首发时间:2018-02-13 20:47 修改: 2018-04-07:考虑到规范化,将所有语法中“关键字”变成大写;以及因为整理“mys ...

随机推荐

  1. Hibernate 注解时 hibernate.hbm.xml的配置方法 以及与SSH整合里的配置方式

    ①纯Hibernate开发: 当你在Bean中写入注解后,需要告诉hibernate哪些类使用了注解. 方法是在hibernate.hbm.xml文件中配置 <!DOCTYPE hibernat ...

  2. leetcode面试准备: CountPrimes

    1 题目 Description: Count the number of prime numbers less than a non-negative number, n. 接口:public in ...

  3. Process.StandardInput属性

    获取用于写入应用程序输入的流. 命名空间:System.Diagnostics程序集:System(在 system.dll 中) 语法     C# C++ VB   public StreamWr ...

  4. centos6.5 无线网卡配置

    来自:http://liqirui.blog.51cto.com/4662702/1344877         http://wiki.centos.org/zh/HowTos/Laptops/Wp ...

  5. 把调试好的SQL语句转换为JAVA代码小工具

    关键点:Pattern实现SQL拆解.ZeroClipboard.js实现复制到剪切板 主要代码: <%@ page language="java" import=" ...

  6. 【转】Android4.4(MT8685)源码蓝牙解析--BLE搜索

    原文网址:http://blog.csdn.net/u013467735/article/details/41962075 BLE:全称为Bluetooth Low Energy.蓝牙规范4.0最重要 ...

  7. C#后台执行bat

    C#后台执行bat ProcessStartInfo p = new ProcessStartInfo(); p.FileName = "C:\\1.bat"; p.WindowS ...

  8. SVG事件响应

    1 UIEvents(用户界面事件)  focusin(onfocusin):一个元素获得焦点(例如,一段文本被选中)  focusout(onfocusout):一个元素失去焦点(例如,一段文本 ...

  9. iw命令

    iwconfig这个老工具已不推荐使用,iw支持大多新的设备并已被加入内核 iw help                            查看帮助 iw dev wlan0 scan     ...

  10. Oracle数据库中将一个数据库中一张表的数据导入到另外一张表

    INSERT INTO DBTHNEW.L_MEMBER_ROLE_REL SELECT    *FROM    DBTH.L_MEMBER_ROLE_REL