您的位置:首页 > 大数据

Android 五大数据存储 (最实用的开发详解) 四 SQLite数据库存储的使用

2020-08-04 15:26 826 查看

有很多人觉得我们在本地创建一个数据库,有点小题大做,但是个人感觉一个APP有时候还是有必要配一个数据库的,易于有效的管理数据,我写项目的时候用户基本的信息和APP的配置信息基本都是存储在本地数据库里,今天我们这里分享下直接写的SQLite的方法,另外有种比较简便的方式就是三方框架了 下面有分享的链接,有兴趣的小伙伴可以了解下

好用的三方框架GreenDao的使用点击查看

第一步. 创建MyOpenHelper 继承SQLiteOpenHelper

public class MyOpenHelper extends SQLiteOpenHelper {
//定义表
private String user = "create table User(id integer primary key autoincrement,"+ "name varchar(80)";

public MyOpenHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//执行SQL语句 创建表
db.execSQL(user);
}

//用于数据库更新
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {//用老版本的要往上走一级
case 1:
db.execSQL(user);
}
}

}

第二步. 创建DB操作工具类

public class MyDB {
private static MyDB chainDB;
private static SQLiteDatabase db;
private static Context mContext;
private static String tablename;

private MyDB(Context context) {
MyOpenHelper helper = new MyOpenHelper(context,"User.db", null, 1);
db = helper.getWritableDatabase();
mContext = context;
}
/**
* 增加
*/
public void saveUser(User user) {
if (user == null) {
return;
}
try {
ContentValues values = new ContentValues();
values.put("name", tz.getName);
db.insert("User", null, values);
} catch (Exception e) {
//添加失败
}
}
/**
* 查询所有
*/
public static List<User> getAllUser() {
List<User> list = new ArrayList<>();

Cursor cursor = db.rawQuery("select  * from " + tablename, null);
while (cursor.moveToNext()) {
User user=User();
user.setId(cursor.getInt(cursor.getColumnIndex("id")));
user.setName(cursor.getString(cursor.getColumnIndex("name")));
list.add(user);

}
return list;
}
}

第二步. 初始化 调用

MyDB.getInstance(this);
MyDB.chainDB.getAllUser()

以上就是对SQLite的直接使用,这种操作有很多不便性就是SQL需要一个一个的去写,容易出错,不便于维护,安全性不太高,更多的还是建议大家使用三方的数据库框架,操作简单快捷

好用的三方框架GreenDao的使用点击查看

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐