
xml
<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="創建數據庫" android:id="@+id/bt_cjshujuku" android:onClick="chuangjiansjkonclick"/>
java
package com.example.chenshuai.test321; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast; public class Activitydatashujuku extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activitydatashujuku); } /*操作數據庫有兩個非常重要的類:SQLiteDatabase和SQLiteOpenHelper * 1.SQLiteDatabase的實例便代表了SQLite數據庫,通過SQLiteDatabase的一些常用方法,可以執行SQL語句, * 對數據庫進行添加、刪除、更新、查找和修改等操作 * 2.SQLiteOpenHelper是一個輔助類,主要負責創建和打開數據庫以及對數據庫的版本進行管理。 * SQLiteOpenHelper是一個抽象類,需要繼承它並實現它的幾個回調函數 * */ /* 1.寫內部類 繼承SQLiteOpenHelper 2.生成實現方法 (1)創建 public void onCreate(SQLiteDatabase db) { (2)升級 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 3.生成器 調用父類的構造方法 public DBHelper(String name, int version) { 4.點擊事件 調用構造方法DBHelper 創建 連接數據庫 */ //內部類繼承 需要自己生成構造器 class DBHelper extends SQLiteOpenHelper { //構造方法 //name 數據庫名 //version 自己定義的數據庫的版本號 public DBHelper(String name, int version) { //需要調用父類的構造方法 寫在第一行 super(Activitydatashujuku.this, name, null, version); } //實現方法 是一個回調方法 //在創建數據庫時調用 //什么時候創建數據庫:連接數據庫的時候,如果數據庫文件不存在 //只調用一次 @Override public void onCreate(SQLiteDatabase db) { //1.創建數據庫的語句 //構造建表語句 String creaTTable = "create table user (_id integer PRIMARY KEY AUTOINCREMENT NOT NULL,name varchar,age int)"; db.execSQL(creaTTable); //2.初始化參數 ContentValues ContentValues cv = new ContentValues(); cv.put("name","tom"); cv.put("age", "20"); //返回id long型 如果不成功返回-1 //1-表名 //2-空列的默認值 //3-字段和值的key/value集合 Long l = db.insert("user", null, cv); Toast.makeText(Activitydatashujuku.this, "id="+l, Toast.LENGTH_LONG).show(); //2.初始化數據 } //升級數據庫 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } //創建數據庫 public void chuangjiansjkonclick(View view) { //創建 實現工具類 DBHelper dh = new DBHelper("test.db",1); //連接數據庫 獲取數據庫實例 //getWritableDatabase() 數據寫滿會報錯 //getReadableDatabase() 數據寫滿不會報錯 SQLiteDatabase sd = dh.getWritableDatabase();
sd.close();
} }

