您的位置:首页 > 移动开发 > Android开发

Android学习---如何创建数据库,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用

2014-06-11 00:42 1051 查看

一.android中使用什么数据库?

SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式庫中。它是D.RichardHipp建立的公有领域项目.SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

值得一提的是,android和ios使用的数据库一样,都是SQLite.

二.如何创建一个数据库?

1.使用intelij idea创建一个andorid项目





2.创建如下工具类:

MyDBHelper.java

package com.amos.android_database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
* Created by amosli on 14-6-10.
*/
public class MyDBHelper extends SQLiteOpenHelper{
/**
* 创建数据库的构造方法
* @param context 应用程序上下文
* name 数据库的名字
* factory 查询数据库的游标工厂一般情况下用sdk默认的
* version 数据库的版本一般大于0
*/
public MyDBHelper(Context context) {
super(context, "test.db", null, 4);
}
private String tag = "MyDBHelper.class";
/**
* 在数据库第一次创建时会执行
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(tag,"onCreate.....");
//创建一个数据库
 db.execSQL("create table person (personid integer primary key autoincrement ,name varchar(30) )");

}

/**
* 更新数据的时候调用的方法
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d(tag,"onUpgrade*******");
//增加一列
  db.execSQL("alter table person add phone varchar(13) null");

}
}


MyActivity.java

package com.amos.android_database;

import android.app.Activity;
import android.os.Bundle;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
 MyDBHelper myDBHelper = new MyDBHelper(this);
myDBHelper.getReadableDatabase();
myDBHelper.close();

}
}


3.打开生成的test.db

1).下载安装SQLiteStudio(SQLite的可视化工具)

下载地址:http://www.sqlitestudio.pl/

安装:

chmod 777 sqlitestudio-2.1.5.bin

./sqlitestudio-2.1.5.bin


执行上面的linux命令,第一句是赋权限,第二句是打开工具

2)从avd中导出test.db



打开DDMS,从data/data/com.amos.andriod_database/databases下导出test.db

3).用sqlitestudio打开test.db

添加数据库



选择test.db



执行onCreate方法时创建的person表



执行onUpgrade方法更新语句的时候



本文源码:https://github.com/amosli/android_basic
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: