1、使用sqlite 前要继承SQLiteOpenHelper这个类
package com.example.test.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBOpenHelper extends SQLiteOpenHelper {
private static final String dbName = "person.db"; // 数据库名称
private static final int version = 1; // 数据库版本号,从1 开始
public static final String tableName = "dev"; // 表名
/**
*
* @param context
*/
public DBOpenHelper(Context context) {
super(context, dbName, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) { // 该方法中创建表结构
String sql = "create table " + tableName + "(did integer primary key autoincrement,name varchar(20) not null,tel varchar(20) not null)"; //注意tab le后面的空格
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 数据库版本的升级
}
}2、对数据的CRUD 操作
package com.example.test.dao;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.example.test.bean.Dev;
import com.example.test.db.DBOpenHelper;
public class DevDao {
private DBOpenHelper helper = null;
private SQLiteDatabase db = null;
public DevDao(Context context) {
helper = new DBOpenHelper(context);
db = helper.getWritableDatabase();
}
/**
* 添加操作
*
* @param dev
*/
public void add(Dev dev) {
String sql = "insert into dev(name,tel) values(?,?)";
db.execSQL(sql, new Object[] { dev.getName(), dev.getTel() });
}
/**
* 显示所有信息
*
* @return
*/
public List<Dev> getAllDevInfo() {
List<Dev> dev = new ArrayList<Dev>();
String sql = "select name,tel from " + DBOpenHelper.tableName;
Cursor cursor = db.rawQuery(sql, null);
while (cursor.moveToNext()) {
dev.add(new Dev(cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("tel"))));
}
return dev;
} public void deleteRuleInfo(int id) {
db = this.helper.getWritableDatabase();
String sql = "delete from base_rule_tb where id= ?";
db.execSQL(sql, new String[] { String.valueOf(id) });
db.close();
} public void deleteRuleInfo(int id) {
db = this.helper.getWritableDatabase();
String sql = "delete from base_rule_tb where id= " + id;
db.execSQL(sql);
db.close();
}
}
3、调用
package com.example.test;
import java.util.Iterator;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import com.example.test.bean.Dev;
import com.example.test.dao.DevDao;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DevDao dev = new DevDao(this);
for (int k = 0; k < 10; k++)
dev.add(new Dev("kang" + k, "342"));
List<Dev> list = dev.getAllDevInfo();
Iterator<Dev> it = list.iterator();
while (it.hasNext()) {
Dev d = it.next();
String name = d.getName();
android.util.Log.d("mark", "name=" + name);
}
}
}
本文详细介绍了在Android开发中使用SQLite数据库的方法,包括数据库创建、表结构定义及对数据进行增删查操作的基本流程。通过实例展示了如何在Android应用中实现数据存储与检索,对于初学者理解数据库在移动应用中的应用提供了清晰指导。
830

被折叠的 条评论
为什么被折叠?



