#Aprendizado Android#Criação de banco de dados Sqlite

Etapas gerais para criar um banco de dados

1.0 Crie uma classe, herde SqliteOpenHelper e reescreva os dois métodos onCreate() e onUpGrade();

public class MySqliteOpenHelper extends SQLiteOpenHelper {
    
    

/*
* context:上下文;
* name:数据文件的名称;
* factory:用来创建cursor对象;
* version:数据库的版本号,从 1 开始,版本号如果发生改变 ,onUpgrade()方法会被调用;
* */
public MySqliteOpenHelper(Context context) {
super(context, "info.db", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
//在数据库文件第一次创建的时候会回调该方法,适合做表结构的初化
//需要执行sql语句;SQLiteDateBase db可以用来执行sql语句;
db.execSQL("CREATE TABLE info(_id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(20), age VARCHAR(20))");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//数据库发生改变的时候会回调该方法;特别适合表结构发生改变;
    }
}

2.0 Crie um objeto herdado da classe auxiliar e chame o método getReadableDatabase(), que nos ajudará a criar e abrir um banco de dados;

MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(context);
SQLiteDatabase db = mySqliteOpenHelper.getWritableDatabase();

3.0 Depois que os dados são criados, você pode operar as tabelas criadas pelo SQLite: a
ideia básica de operações básicas no banco de dados: obter o objeto herdado do SQLiteOpenHelper e, em seguida, obter um valor de retorno do tipo SQLiteDatabase por meio do método getWritableDatabase( ) método, de modo a realizar operações básicas no banco de dados a operação;

4.0 Adicionar dados ao banco de dados

//数据库的添加操作
public void add(ArrayList<SqliteTableBean> arrayList) {
for (int i = 0; i < arrayList.size(); i++) {
sqliteTableBean.name = arrayList.get(i).name;//实体类
sqliteTableBean.phone = arrayList.get(i).phone;//实体类
SQLiteDatabase database = mySqliteOpenHelper.getWritableDatabase();
database.execSQL("insert into info(name, phone) values(?, ?)", new Object[]{sqliteTableBean.name,
sqliteTableBean.phone});
database.close();//关闭操作;
    }
}

5.0 Consultar dados no banco de dados (adequado para consulta de várias tabelas)

//数据库的查找
public void querry(String name) {
//调用getgetWritableDatabase()方法,来初始化数据库的创建;
SQLiteDatabase database = mySqliteOpenHelper.getWritableDatabase();
/*
* 参数:
* String sql:sql语句
* String[] selectionArgs:查询条件占位的值,返回一个查询光标
* */
Cursor cursor = database.rawQuery("select _id, name, phone from info where name = ?"
, new String[]{name});
//解析cursor中的数据
if (cursor.moveToNext() && cursor.getCount() > 0) {
   
   //判断cursor中是否存在数据
while (cursor.moveToNext()) {
int id = cursor.getInt(0);
String name_table = cursor.getString(1);
String phone = cursor.getString(2);

Toast.makeText(context, "_id:" + id + " name:" + name + " phone:" + phone
, Toast.LENGTH_SHORT).show();
}
}

6.0 Excluir dados do banco de dados

//数据库的删除
public void delete(String sqliteTableBean) {
SQLiteDatabase database = mySqliteOpenHelper.getWritableDatabase();
database.execSQL("delete from info where name = ?", new Object[]{sqliteTableBean});
}

おすすめ

転載: blog.csdn.net/HongHua_bai/article/details/71405817