Android SQLite数据库相关知识

来源:互联网 发布:mac 迅雷 bt 速度0 编辑:程序博客网 时间:2024/05/16 08:47

学习笔记。 我随意写,你随意看 这里写图片描述

参考书:《第一行代码》

一、如何创建数据库?
直接上项目:点击按钮生成一个BookStore数据库

1、新建一个Android工程,新建MyDatabaseHelper类

public class MyDatabaseHelper extends SQLiteOpenHelper {    // 将SQL建表语句定义成一个字符串常量,这里不懂先记住写法     // integer=整型;real=浮点型;text=文本类型;blob=二进制类型; 用primary key将id列设为主键,并用autoincrement关键字表示id列是自增长的    public static final String CREATE_BOOK = "create table Book ("            + "id integer primary key autoincrement, " + "author text, "            + "price real, " + "pages integer, " + "name text)";    public MyDatabaseHelper(Context context, String name,            CursorFactory factory, int version) {        super(context, name, factory, version);    }// 下面两个重写方法必不可少,在onCreate中实现创建数据库,在onUpgrade中实现升级数据库    @Override    public void onCreate(SQLiteDatabase db) {        // 调用SQLiteDatabase的execSQL方法执行建表语句        db.execSQL(CREATE_BOOK);    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }}

2、修改activity_main.xml中代码(放置一个Button,id为create_database)

3、最后修改MainActivity.java中代码

public class MainActivity extends Activity {    private Button createDatabase;    private MyDatabaseHelper dbHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    // 构建一个MyDatabaseHelper对象,通过构造函数给数据命名,版本号指定为1,第三个参数一般为null        dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 1);        createDatabase = (Button) findViewById(R.id.create_database);               createDatabase.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {    // 调用getWritableDatabase方法,第一次点击会检测到程序中没有BookStore.db数据库,于是会创建数据库,并调用MyDatabaseHelper中onCreate方法执行其中建表语句    // 再次点击按钮调用getWritableDatabase方法时会发现程序中已经有了BookStore.db数据库,因此不会再创建一次                dbHelper.getWritableDatabase();            }        });    }}// getReadableDatabase()和getWritableDatabase()这两个方法都可以创建或打开一个现有的数据库,并返回一个SQLiteDatabase对象,通过这个对象可对数据库进行读写操作。// 这两个方法的区别,当数据库不可写入时,getReadableDatabase()方法返回的对象以只读的方式去打开数据库,而getWritableDatabase()方法将出现异常。

4、如何验证数据是否建立成功?使用adb shell来对数据库和表的创建情况进行检查。
这里adb使用参考:http://blog.csdn.net/zhang5690800/article/details/50161121

0 0
原创粉丝点击