SQLiteDatabase db= SQLiteDatabase.openOrCreateDatabase( "/data/data/" + getPackageName() + "/test.db", null);
public class MySqliteHelper extends SQLiteOpenHelper{
public MySqliteHelper(Context context) {
super(context, "mysqlite.db", null, 1);
//传入四个参数
//第一个参数context 上下文对象
//第二个参数mysqlite.db 数据库名称(文件名)
//第三个参数一般为null
//第四个参数数据库版本号,这里写1
}
@Override
public void onCreate(SQLiteDatabase db) {
/* 数据库创建的时候会回调此方法,可以用db对象执行SQL语
* 句,创建所需要的表
*/
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//当数据库升级时调用此方法
}
}
SQLiteOpenHelper dbHelper = new MySqliteHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase();
private void createTable(SQLiteDatabase db){
//SQL语句
String sql =
"create table stutable(_id integer primary key autoincrement,name text,age integer)";
db.execSQL(sql);
}
//SQLiteDatabase类中提供的方法
public long insert(
String table,//要操作表名
String nullColumnHack,//空列的默认值
ContentValues values
//ContentValues封装了列名称和列值的Map
);
private void insertToTable(SQLiteDatabase db){
ContentValues cv = new ContentValues();
cv.put("name","wxq");
cv.put("age",11);
db.insert("stutable",null,cv);
}
//SQLiteDatabase类中提供的方法
public int delete(
String table,//表名称
String whereClause,//删除条件
String[] whereArgs); //删除条件值数组
private void deleteToTable(SQLiteDatabase db){
//删除条件,这里以name为条件,也可以是age = ?
String whereClasuse = "name = ?";
//删除条件参数,
String[] whereArgs = new String[]{"wxq"};
//执行删除
db.delete("stutable",whereClasuse,whereArgs);
}
//SQLiteDatabase类中提供的方法
public int update(
//表名称
String table,
//和行列ContentValues键值对应的key-value
ContentValues values,
//更新条件
String whereClause,
//更新条件数组
String[] whereArgs
);
private void updateToTable(SQLiteDatabase db){
//实例化ContentValues
ContentValues cv= new ContentValues();
cv.put("age",23);
//更新条件
String whereClause = "name = ?";
//更新条件数组
String[] whereArgs = new String[]{"wxq"};
db.update("stutable",cv,whereClause,whereArgs);
}
public Cursor rawQuery(
String sql,//查询的SQL语句
String[] selectionArgs//当SQL语句中含有?,这里代表值
);
public void queryToTable(SQLiteDatabase db){
String sql = "select * from stutable";//全查
Cursor c = db.rawQuery(sql,null);//这里会返回一个Cursor(游标)对象
}
public class HeroSqliteManager {
private SQLiteOpenHelper dbHelper;
private SQLiteDatabase db;
private static HeroSqliteManager instance;
private static final String TABLE_NAME = "hero";
private static final String NAME_FIELD = "name";
private static final String ICOID_FIELD = "icoId";
private static final String ATTACK_FIELD = "attack";
private static final String DEFENSE_FIELD = "defense";
public static HeroSqliteManager getInstance() {
if (instance == null) {
synchronized (HeroSqliteManager.class) {
if (instance == null) {
instance = new HeroSqliteManager();
}
}
}
return instance;
}
private HeroSqliteManager() {
dbHelper = new HeroSqliteHelper(HeroApplication.getContext());
db = dbHelper.getWritableDatabase();
}
/**
* 插入记录
* @param hero
*/
public void insertData(Hero hero) {
ContentValues cv = new ContentValues();
cv.put(NAME_FIELD, hero.name);
cv.put(ICOID_FIELD, hero.icoId);
cv.put(ATTACK_FIELD, hero.attack);
cv.put(DEFENSE_FIELD, hero.defense);
db.insert(TABLE_NAME, null, cv);
}
/**
* 删除记录
* @param
*/
public void deleteData(int id) {
String whereClasuse = "_id = ?";
String[] whereArgs = new String[]{String.valueOf(id)};
db.delete(TABLE_NAME, whereClasuse, whereArgs);
}
/**
* 修改记录
* @param hero
*/
public void updateData(Hero hero) {
ContentValues cv = new ContentValues();
cv.put(NAME_FIELD, hero.name);
cv.put(ICOID_FIELD, hero.icoId);
cv.put(ATTACK_FIELD, hero.attack);
cv.put(DEFENSE_FIELD, hero.defense);
String whereClasuse = "_id = ?";
String[] whereArgs = new String[]{String.valueOf(hero.id)};
db.update(TABLE_NAME, cv, whereClasuse, whereArgs);
}
/**
* 查询所有的英雄
* @return
*/
public List<Hero> selectData() {
List<Hero> heroList = new ArrayList<>();
Cursor c = db.rawQuery("select * from " + TABLE_NAME, null);
while (c.moveToNext()) {
Hero hero = new Hero();
hero.id = c.getInt(c.getColumnIndex("_id"));
hero.name = c.getString(c.getColumnIndex(NAME_FIELD));
hero.icoId = c.getInt(c.getColumnIndex(ICOID_FIELD));
hero.attack = c.getInt(c.getColumnIndex(ATTACK_FIELD));
hero.defense = c.getInt(c.getColumnIndex(DEFENSE_FIELD));
heroList.add(hero);
}
c.close();
return heroList;
}
/**
* 按name查询
* @param name
* @return
*/
public Hero selectForName(String name) {
Cursor c = db.rawQuery("select * from " + TABLE_NAME + " where name = ?", new String[]{name});
Hero hero = null;
if (c.moveToNext()) {
hero = new Hero();
hero.id = c.getInt(c.getColumnIndex("_id"));
hero.name = c.getString(c.getColumnIndex(NAME_FIELD));
hero.icoId = c.getInt(c.getColumnIndex(ICOID_FIELD));
hero.attack = c.getInt(c.getColumnIndex(ATTACK_FIELD));
hero.defense = c.getInt(c.getColumnIndex(DEFENSE_FIELD));
}
c.close();
return hero;
}
public void destroy() {
// if (db != null) {
// db.close();
// }
// db = null;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有