Android SQLite数据库相关知识

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

参考书:《第一行代码》

一、如何创建数据库?
直接上项目:点击按钮生成一个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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值