【Android】數據庫的簡單應用——創建數據庫


 

    SQLiteOpenHelper是一個抽象類,要使用它必須寫一個類繼承它。SQLiteOpenHelper有兩個抽象方法onCreate()和onUpgrade(),我們要在類里面重寫這兩個方法來實現創建和更新數據庫。

    SQLiteOpenHelper類里還有兩個重要實例的方法getReadableDatabase和getWritableDatabase(),這兩個方法都可以打開或者創建一個數據庫。不同的是,當數據庫不可寫入的時候,例如磁盤空間已滿的時候,getReadableDatabase()方法以只讀的形式打開數據庫,而getWritableDatabase()方法會出現異常。

    重寫SQLiteOpenHelper類的兩個構造方法一般使用參數少的那個,它接受四個參數,第一個參數為context上下文,第二個參數是表名,第三個參數允許我們在查詢數據的時候返回一個自定義的Cursor,一般傳入null即可。第四個參數是當前數據庫的版本號,可用於對數據庫進行升級。

    構建出SQLiteOpenHelper的實例之后,再調用它的getReadableDatabase()或者getWritableDatabase()去創建數據庫。

    eg:

      創建一個名字為MyDatabase.db的數據庫,新建一張User表,表中有id(主鍵),name,password屬性。

      創建User表的建表語句如下:

      create table User{

        id integer primary key autoincrement,//integr: 整形  primary key:主鍵,唯一鍵  autoincrement:自增長

        name text,//text:文本類型,另外real為浮點型,blob二進制類型

        password text)

      在代碼中執行這條SQL語句,完整如下:

        

public class MyDatabaseHelper extends SQLiteOpenHelper {

public static final String CREATE_USER = "create table uer ("
+ "id integer primary key autoincrement, "
+ "name text, "
+ "password text, "
)";
private Context mContext;
public MyDatabaseHelper(Context context, String name, CursorFactory
factory, int version) {
super(context, name, factory, version);
mContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_USER);
Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}

  

      

    


免責聲明!

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



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