Android访问SQLite
SQLite一个微型的关系型数据库,虽然小巧,但是其具有关系型数据库的很多特征。这个例子简单介绍数据库的创建、插入、更新、查询以及关闭的操作。

package com.example.sample3_3;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btnCreate;
private Button btnInsert;
private Button btnUpdate;
private Button btnQuery;
private Button btnShutDown;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCreate = (Button)findViewById(R.id.ButtonCreate);
btnInsert = (Button)findViewById(R.id.ButtonInsert);
btnUpdate = (Button)findViewById(R.id.ButtonUpdate);
btnQuery = (Button)findViewById(R.id.ButtonQuery);
btnShutDown = (Button)findViewById(R.id.ButtonShutDown);
btnCreate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
db = openOrCreateDatabase("test.db",MainActivity.MODE_PRIVATE, null);
db.execSQL("DROP TABLE IF EXISTS person");
db.execSQL("CREATE TABLE person(_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");
}
});
btnInsert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put("name", "xuxianghu");
cv.put("age", 23);
db.insert("person", null, cv);
}
});
btnUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put("age", 25);
int r = db.update("person", cv, "name = ?", new String[] {"xuxianghu"});
System.out.println("Row update: " + r);
}
});
btnQuery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Cursor c = db.rawQuery("SELECT * FROM person", null);
while(c.moveToNext())
{
int _id = c.getInt(c.getColumnIndex("_id"));
String name = c.getString(c.getColumnIndex("name"));
int age = c.getInt(c.getColumnIndex("age"));
System.out.println("_id: " + _id + ", name: " + name + ", age: " + age);
}
c.close();
//db.close();
}
});
btnShutDown.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(db.isOpen())
{
db.close();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
浙公网安备 33010602011771号