標籤:
(1)首先建立一個類繼承SQLiteOpenHelper,重寫父類中super(),onCreate(),onUpgrade()方法,
在super()方法中聲明資料庫的content(上下文),databaseName(資料的名稱),factory(遊標工廠),version(版本);
在onCreate()方法中可以建立一張表;
在onUpgrade()方法中可以更新資料庫的版本。
public class PersonDB extends SQLiteOpenHelper { public PersonDB(Context context){ super(context,"person.db",null,5); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("create table person (id integer primary key autoincrement,name varchar(20),number varchar(20))"); System.out.print("資料庫建立成功"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { System.out.println("資料庫升級成功"); }}
(2)建立javaBean用於儲存資料
作用:用於儲存資料庫中的值。(注意:該類中的變數應該和資料庫中的欄位相同)
在該類中通過變數設定setXXX()和getXXX()方法(根據需求也可增加需要的方法);
public class Person { private int id; private String name; private String number; public Person(){} public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } @Override public String toString() { return "Person{" + "id=" + id + ", name=‘" + name + ‘\‘‘ + ", number=‘" + number + ‘\‘‘ + ‘}‘; }}
(3)在MainActivity中可以通過BUTTON增加監聽對資料庫進行操作 增,刪,改,查(可以將查詢的結果通過ListView吧資料顯示到手機介面上)。
<1>在xml檔案增加需要的控制項,在MainActivity中通過findViewById()的方法找到xml中的控制項
b1=(Button)findViewById(R.id.b1);
b2=(Button)findViewById(R.id.sele);
<2>在MainActivity中聲明資料庫(this指的是上下文環境)
helper=new PersonDB(this);
<3>操作資料庫(注意:每次操作完資料庫後應將資料庫關閉通過close()方法)
增:給button設定監聽事件
通過SQLiteDataBase得到一個可讀寫的資料庫
SQLiteDatabase db=helper.getWritableDatabase();
編寫SQL語句
Long i= db.insert(String table,String nullColumnHack,ContentValues values);
通過SQL語句的傳回值判斷操作是否成功
if(i==-1){ Toast.makeText(MainActivity.this, "插入失敗", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(MainActivity.this, "插入成功", Toast.LENGTH_SHORT).show(); }
}
最後關閉資料庫
db.close();
刪,改 步驟:同上
查:給button設定監聽事件
通過SQLiteDataBase得到一個可讀或者可讀寫的資料庫
SQLiteDatabase db=helper.getReadableDatabase();SQLiteDatabase db=helper.getWritableDatabase();
編寫SQL語句,將查詢到的將資料存進javaBean中,定義一個內部類繼承BaseAdapter適配器,最終通過ListView將結果顯示到控制台
b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { SQLiteDatabase db=helper.getWritableDatabase(); Cursor cursor= db.query("Person", null, null, null, null, null, null); list_infor=new ArrayList<Person>(); while(cursor.moveToNext()){ Person infor=new Person(); int id=cursor.getInt(cursor.getColumnIndex("id")); String name=cursor.getString(cursor.getColumnIndex("name")); String number=cursor.getString(cursor.getColumnIndex("number")); infor.setId(id); infor.setName(name); infor.setNumber(number); list_infor.add(infor); } cursor.close(); db.close(); lv.setAdapter(new MyAdapter()); } }); } private class MyAdapter extends BaseAdapter { @Override public int getCount() { return list_infor.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int i, View view, ViewGroup viewGroup) { TextView tv=new TextView(MainActivity.this); tv.setText(list_infor.get(i).toString()); return tv; } }
SQLite資料庫的建立與使用