【Android】資料庫的簡單應用——建立資料庫

來源:互聯網
上載者:User

標籤:

 

    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, CursorFactoryfactory, int version) {super(context, name, factory, version);mContext = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_USER);Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}

  

      

    

【Android】資料庫的簡單應用——建立資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.