Android學習---如何創建數據庫,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用


一.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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM