这个例子很简单,如下图,点击添加用户按钮将会添加一个用户名和电话为界面上所填写的用户,点击查看用户按钮会在控制台输出所有的用户信息
继承SQLiteOpenHelper的数据库工具类
package com.example.helloword.conn;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
//数据库版本
private static final int version = 1;
/**
* 构造方法
* @param context 上下文对象
* @param name 数据库名称
* @param factory
* @param version 数据库版本号
*/
private MySQLiteOpenHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
public MySQLiteOpenHelper(Context context) {
this(context, "test.db3", null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE [users] ( "+
" [_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "+
" [username] VARCHAR2(20), "+
" [phone] VARCHAR2(2))";
db.execSQL(sql);
db.execSQL("insert into users(username,phone) values('小明','11111111')");
db.execSQL("insert into users(username,phone) values('中明','22222222')");
db.execSQL("insert into users(username,phone) values('大明','33333333')");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
Activity:
package com.example.helloword;
import com.example.helloword.conn.MySQLiteOpenHelper;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
//页面上的查看用户按钮和新增用户按钮
private Button btnLook,btnSave;
//页面上的姓名和电话输入框
private EditText txtName,txtPhone;
//数据库工具类
private MySQLiteOpenHelper conn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
/**
* 页面初始化方法
*/
private void init() {
btnLook = (Button) findViewById(R.id.btnLook);
btnSave = (Button) findViewById(R.id.btnSave);
txtName = (EditText) findViewById(R.id.txtName);
txtPhone = (EditText) findViewById(R.id.txtPhone);
btnSave.setOnClickListener(new SaveClickListener());
btnLook.setOnClickListener(new LookClickListener());
//创建数据库工具类实例
conn = new MySQLiteOpenHelper(this);
}
/**
* 保存按钮的监听事件类
*/
private class SaveClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//创建新增sql语句
String sql = "INSERT INTO USERS (USERNAME,PHONE) VALUES(?,?)";
//获取SQLiteDatabase对象
SQLiteDatabase data = conn.getWritableDatabase();
//通过SQLiteDatabase对象执行sql语句
data.execSQL(sql, new String[]{txtName.getText().toString(),
MainActivity.this.txtPhone.getText().toString()});
Toast.makeText(MainActivity.this, "保存成功",Toast.LENGTH_SHORT).show();
}
}
/**
* 查看按钮的监听事件类
*/
private class LookClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//创建新增sql语句
String sql = "SELECT * FROM USERS";
//获取SQLiteDatabase对象
SQLiteDatabase data = conn.getReadableDatabase();
//通过SQLiteDatabase对象进行数据库查询,返回Cursor对象
Cursor cursor = data.rawQuery(sql, new String[]{});
//循环输出cursor中的内容
while(cursor.moveToNext()){
System.out.println("姓名:"+cursor.getString(1)
+",电话:"+cursor.getString(2));
}
//关闭cursor对象
cursor.close();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
protected void onDestroy() {
super.onDestroy();
//退出程序时关闭MySQLiteOpenHelper里面的SQLiteDataBase
if(conn!=null){
conn.close();
}
}
}