import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
class Person {
private String name;
private int age;
}
//資料庫線程類
class DatabaseRunnable implements Runnable {
@Override
public void run() {
// 打開或建立test.db資料庫
SQLiteDatabase db = openOrCreateDatabase("test.db",
Context.MODE_PRIVATE, null);
db.execSQL("DROP TABLE IF EXISTS person");
// 建立person表
db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");
Person person = new Person();
person.name = "john";
person.age = ;
// 插入資料
db.execSQL("INSERT INTO person VALUES (NULL, ?, ?)", new Object[] {
person.name, person.age });
person.name = "david";
person.age = ;
// ContentValues以鍵值對的形式存放資料
ContentValues cv = new ContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
// 插入ContentValues中的資料
db.insert("person", null, cv);
cv = new ContentValues();
cv.put("age", );
// 更新資料
db.update("person", cv, "name = ?", new String[] { "john" });
Cursor c = db.rawQuery("SELECT * FROM person WHERE age >= ?",
new String[] { "33" });
while (c.moveToNext()) {
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
int age = c.getInt(c.getColumnIndex("age"));
Log.d("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);
}
c.close();
// 删除資料
db.delete("person", "age < ?", new String[] { "35" });
// 關閉目前資料庫
db.close();
// 删除test.db資料庫
deleteDatabase("test.db");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化線程
Thread t = new Thread(new DatabaseRunnable());
t.start();
}
}