package com.example.sqlite1;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
//DatabaseHelper继承SQLiteOpenHelper类
public class DatabaseHelper extends SQLiteOpenHelper {
//定义版本
public static final int version = 1;
//最少有一个构造函数
public DatabaseHelper(Context context, String name) {
super(context, name, null, version);
}
//Context context是一个activity类型对象,name是表名,version是数据库版本
public DatabaseHelper(Context context, String name,
int version) {
super(context, name, null, version);
}
//第一次建立数据库的时候会调用该方法
public void onCreate(SQLiteDatabase db) {
System.out.println("Create a Database");
db.execSQL("create table user(id int, name varchar(20))");
}
//更新数据库的时候会调用该方法
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
System.out.println("updata Database");
}
}
package com.example.sqlite1;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class SQLiteActivity extends Activity {
private TextView text;
private Button createdatabase;
private Button updatabase;
private Button insert;
private Button updata;
private Button query;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sqlite_activity);
text = (TextView)findViewById(R.id.sqlite);
createdatabase = (Button)findViewById(R.id.createdatabase);
updatabase = (Button)findViewById(R.id.updatabase);
insert = (Button)findViewById(R.id.insert);
updata = (Button)findViewById(R.id.updata);
query = (Button)findViewById(R.id.query);
text.setText(R.string.sqlite);
createdatabase.setText(R.string.createdatabase);
updatabase.setText(R.string.updatabase);
insert.setText(R.string.insert);
updata.setText(R.string.updata);
query.setText(R.string.query);
//设置监听按钮
createdatabase.setOnClickListener(new CreateListener());
updatabase.setOnClickListener(new UpdatabaseListener());
insert.setOnClickListener(new InsertListener());
updata.setOnClickListener(new UpdataListener());
query.setOnClickListener(new QueryListener());
}
class CreateListener implements OnClickListener {
public void onClick(View v) {
//新建DatabaseHelper(该类为用户自定义)类对象,DatabasesHelper继承SQLiteOpenHelper类
//构造函数第一个参数本类对象,第二个对数为表名
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_first");
//将DatabaseHelper对象取得一个可读数据的方法给SQLiteDatabase对象(该类为系统提供),调用一个可写或可读的方法时会创建数据库
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
class UpdataListener implements OnClickListener {
public void onClick(View v) {
//更新数据,第一参数为当前类对象,第二参数为表名,第三参数为更新版本号
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_first",2);
//取得一个可读数据库方法给SQLiteDatabase对象(该类为系统提供)
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
class InsertListener implements OnClickListener {
public void onClick(View v) {
//插入数据,下面二行同上
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getWritableDatabase();
//新建一个ContentValues对象
ContentValues values = new ContentValues();
//values的put方法第一个参数为属性名,第二个参数为第一个参数的值
values.put("id",45);
values.put("name", "ZhangMing");
//调用insert方法,第一参数为表名,第二为空,第三为ContentValues对象
db.insert("user", null, values);
}
}
class UpdatabaseListener implements OnClickListener {
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "WangXiao");
//调用updata方法,第一个参数要更新的表名,第二参数ContentValues是对象,第三是表达式,第四表达式值
db.update("user", values, "id = ?", new String []{"45"});
}
}
}
class QueryListener implements OnClickListener {
@SuppressLint("NewApi")
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor curosr = db.query(false, "user", new String[]{"id","name"}, "id=?", new String[]{"依 靠"}, null, null, null, null, null);
//curosr.moveToNext()若下一列不为空,执行后面代码
while (curosr.moveToNext()) {
String name = curosr.getString(curosr.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}
package com.example.sqlite1;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
//DatabaseHelper继承SQLiteOpenHelper类
public class DatabaseHelper extends SQLiteOpenHelper {
//定义版本
public static final int version = 1;
//最少有一个构造函数
public DatabaseHelper(Context context, String name) {
super(context, name, null, version);
}
//Context context是一个activity类型对象,name是表名,version是数据库版本
public DatabaseHelper(Context context, String name,
int version) {
super(context, name, null, version);
}
//第一次建立数据库的时候会调用该方法
public void onCreate(SQLiteDatabase db) {
System.out.println("Create a Database");
db.execSQL("create table user(id int, name varchar(20))");
}
//更新数据库的时候会调用该方法
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
System.out.println("updata Database");
}
}
全部代码
package com.example.sqlite1;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class SQLiteActivity extends Activity {
private TextView text;
private Button createdatabase;
private Button updatabase;
private Button insert;
private Button updata;
private Button query;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sqlite_activity);
text = (TextView)findViewById(R.id.sqlite);
createdatabase = (Button)findViewById(R.id.createdatabase);
updatabase = (Button)findViewById(R.id.updatabase);
insert = (Button)findViewById(R.id.insert);
updata = (Button)findViewById(R.id.updata);
query = (Button)findViewById(R.id.query);
text.setText(R.string.sqlite);
createdatabase.setText(R.string.createdatabase);
updatabase.setText(R.string.updatabase);
insert.setText(R.string.insert);
updata.setText(R.string.updata);
query.setText(R.string.query);
createdatabase.setOnClickListener(new CreateListener());
updatabase.setOnClickListener(new UpdatabaseListener());
insert.setOnClickListener(new InsertListener());
updata.setOnClickListener(new UpdataListener());
query.setOnClickListener(new QueryListener());
}
class CreateListener implements OnClickListener {
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_first");
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
class UpdataListener implements OnClickListener {
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_first",2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
class InsertListener implements OnClickListener {
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id",45);
values.put("name", "ZhangMing");
db.insert("user", null, values);
}
}
class UpdatabaseListener implements OnClickListener {
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "WangXiao");
db.update("user", values, "id = ?", new String []{"45"});
}
}
}
class QueryListener implements OnClickListener {
@SuppressLint("NewApi")
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_first");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor curosr = db.query(false, "user", new String[]{"id","name"}, "id=?", new String[]{"依 靠"}, null, null, null, null, null);
while (curosr.moveToNext()) {
String name = curosr.getString(curosr.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}