標籤:
Android在運行時整合了SQLite , 所以每個Android應用程式都可以使用SQLite資料庫。
我們通過SQLiteDatabase這個類的對象操作SQLite資料庫,而且不需要身分識別驗證。
資料庫存放的位置:data/data/<專案檔夾>/databases/,查看資料庫>>
執行個體:
public class MainActivity extends Activity { private Button createDatabase, createTable, selectData, insertData, updateData, deleteDaata; private MySQLiteOpenHelper helper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo); // 初始化按鈕 createDatabase = (Button) findViewById(R.id.createDatabase); createTable = (Button) findViewById(R.id.createTable); selectData = (Button) findViewById(R.id.selectData); insertData = (Button) findViewById(R.id.insertData); updateData = (Button) findViewById(R.id.updateData); deleteDaata = (Button) findViewById(R.id.deleteDaata); helper = new MySQLiteOpenHelper(MainActivity.this, "mydb.db", null, 1); /* * 建立資料庫 */ createDatabase.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase = helper.getWritableDatabase(); Toast.makeText(MainActivity.this, "資料庫建立成功", 1000).show(); } }); /* * 建立表 */ createTable.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase = helper.getWritableDatabase(); // 建立表 sqlitedatabase .execSQL("create table student(id INTEGER PRIMARY KEY autoincrement,name text)"); Toast.makeText(MainActivity.this, "表建立成功", 1000).show(); } }); /* * 插入資料 */ insertData.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase = helper.getWritableDatabase(); sqlitedatabase .execSQL("insert into student(name) values (‘tinyphp‘)"); Toast.makeText(MainActivity.this, "插入資料成功", 1000).show(); } }); /* * 更新資料 */ updateData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase = helper.getWritableDatabase(); sqlitedatabase .execSQL("update student set name=‘monkey‘ where id=‘1‘"); Toast.makeText(MainActivity.this, "資料更新成功", 1000).show(); } }); /* * 查詢資料 */ selectData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase = helper.getReadableDatabase(); //參數:表名、查詢的列、查詢條件、查詢參數、查詢結果分組、分組結果限制、排序 Cursor cursor = sqlitedatabase.query("student", new String[] { "id", "name" }, "id=?", new String[] { "1" }, null, null, null); String name=null; while(cursor.moveToNext()){ name =cursor.getString(cursor.getColumnIndex("name")); } Toast.makeText(MainActivity.this, "查詢結果name為:"+name, 1000).show(); } }); /* * 刪除資料 * */ deleteDaata.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub SQLiteDatabase sqlitedatabase =helper.getWritableDatabase(); sqlitedatabase.delete("student", "id=?", new String[]{"1"}); Toast.makeText(MainActivity.this, "資料刪除成功", 1000).show(); } }); }}
使用getWritableDatabase或getReadableDatabase的時候,資料庫才會連結,通過execSQL執行SQL語句。
執行個體下載>>>>>>>>
Android:資料存放區之SQLite