博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android——SQLite数据库(一)创建数据库、创建表、初始化数据
阅读量:4563 次
发布时间:2019-06-08

本文共 2656 字,大约阅读时间需要 8 分钟。

xml

java

package com.example.chenshuai.test321;import android.content.ContentValues;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;public class Activitydatashujuku extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_activitydatashujuku);    }    /*操作数据库有两个非常重要的类:SQLiteDatabase和SQLiteOpenHelper    * 1.SQLiteDatabase的实例便代表了SQLite数据库,通过SQLiteDatabase的一些常用方法,可以执行SQL语句,    * 对数据库进行添加、删除、更新、查找和修改等操作    * 2.SQLiteOpenHelper是一个辅助类,主要负责创建和打开数据库以及对数据库的版本进行管理。    * SQLiteOpenHelper是一个抽象类,需要继承它并实现它的几个回调函数    * */   /*    1.写内部类 继承SQLiteOpenHelper    2.生成实现方法      (1)创建  public void onCreate(SQLiteDatabase db) {      (2)升级  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    3.生成器 调用父类的构造方法     public DBHelper(String name, int version) {    4.点击事件 调用构造方法DBHelper 创建 连接数据库*/    //内部类继承  需要自己生成构造器    class DBHelper extends SQLiteOpenHelper    {        //构造方法        //name 数据库名        //version 自己定义的数据库的版本号        public DBHelper(String name, int version) {           //需要调用父类的构造方法 写在第一行            super(Activitydatashujuku.this, name, null, version);        }        //实现方法  是一个回调方法        //在创建数据库时调用        //什么时候创建数据库:连接数据库的时候,如果数据库文件不存在        //只调用一次        @Override        public void onCreate(SQLiteDatabase db) {            //1.创建数据库的语句            //构造建表语句            String creaTTable = "create table user (_id integer PRIMARY KEY AUTOINCREMENT NOT NULL,name varchar,age int)";            db.execSQL(creaTTable);            //2.初始化参数 ContentValues            ContentValues cv = new ContentValues();            cv.put("name","tom");            cv.put("age", "20");            //返回id long型  如果不成功返回-1            //1-表名            //2-空列的默认值            //3-字段和值的key/value集合            Long l = db.insert("user", null, cv);            Toast.makeText(Activitydatashujuku.this, "id="+l, Toast.LENGTH_LONG).show();            //2.初始化数据        }        //升级数据库        @Override        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        }    }    //创建数据库    public void chuangjiansjkonclick(View view)    {        //创建  实现工具类        DBHelper dh = new DBHelper("test.db",1);        //连接数据库 获取数据库实例        //getWritableDatabase() 数据写满会报错        //getReadableDatabase() 数据写满不会报错        SQLiteDatabase sd = dh.getWritableDatabase();
sd.close();
} }

 

 

 

转载于:https://www.cnblogs.com/Chenshuai7/p/5383124.html

你可能感兴趣的文章
salesforce 零基础学习(二十一)workflow Q&A
查看>>
Leetcode 120: Triangle
查看>>
ACM模板——二分图
查看>>
【Java初探02】——Java语言基础
查看>>
leetcode 48. Rotate Image
查看>>
Windows 7下java SDK下载、安装及环境变量设置
查看>>
java 自定义序列化
查看>>
把Windows7启动栏上的库修改为我的电脑
查看>>
在 Win32 Application 和 Win32 Console Application 中使用 MFC
查看>>
angular 2+ 路由守卫
查看>>
存储过程
查看>>
关于解决乱码问题的一点探索之一(涉及utf-8和GBK)
查看>>
Decomposition
查看>>
Visual Studio 配色方案 –> DarkColorful v1.0 发布
查看>>
水仙花数(无聊ing)
查看>>
saprk2 structed streaming
查看>>
由scanf说起之2:由scanf看 不同类型变量的变量名和内存的关系
查看>>
C++临时对象
查看>>
【转】同一台电脑关于多个SSH KEY管理
查看>>
luogu1377 树的序 (线段树)
查看>>