android中的数据存储方式(二)SQLite
来源:互联网 发布:手机开淘宝店下载什么软件 编辑:程序博客网 时间:2024/05/19 11:20
对于sqlite也是第一次接触,本来不打算出这篇博客,但是原谅我的强迫症吧,可能内容比较少。以后边学习边更新。
然后再说一下我对sqlite的理解:它就是一个超轻量级别的数据库。轻到什么程度上呢,它基本不用自己写sql语句,用已经封装好的方法就可以了,存储方法就是在手机上存储了,和“android中的数据存储方式(一)”中说到的文件存储方法的文件存储位置差不多。
① 先写个sqlite辅助类:
public class DatabaseHelper extends SQLiteOpenHelper { static int VERSION = 1; public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } //创建数据库调用此构造函数 public DatabaseHelper(Context context, String name) { this(context, name, VERSION); } //更新数据库版本调用此构造函数 public DatabaseHelper(Context context, String name, int version) { this(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { // 创建数据库sql语句 String sql = "CREATE TABLE user (id int PRIMARY KEY,name varchar(20))"; // 把id设置为主键 // 执行数据库操作 db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
②创建数据库并建表、对数据的增删查改:
//创建数据库并建表的代码DatabaseHelper dbHelper1 = new DatabaseHelper(MainActivity.this,"zwq"); // 取得一个只读的数据库对象 SQLiteDatabase db1 = dbHelper1.getReadableDatabase();
//增加数据//创建存放数据的ContentValues对象 ContentValues cv1 = new ContentValues(); //向对象中放入数据 cv1.put("id", 1); cv1.put("name", "nihao"); DatabaseHelper dbHelper3 = new DatabaseHelper(MainActivity.this,"zwq"); SQLiteDatabase db3 = dbHelper3.getWritableDatabase(); long a = db3.insert("user", null, cv1); /*a如果返回-1,则证明数据插入失败;返回正数表示插入了几条数据*/
//更新数据代码:DatabaseHelper dbHelper4 = new DatabaseHelper(MainActivity.this,"zwq"); SQLiteDatabase db4 = dbHelper4.getWritableDatabase(); ContentValues cv2 = new ContentValues(); cv2.put("name", "你好"); long b = db4.update("user", cv2, "id=?", new String[]{"1"}); /*b表示了更新了几行*/
//查询数据DatabaseHelper dbHelper5 = new DatabaseHelper(MainActivity.this,"zwq"); SQLiteDatabase db5 = dbHelper5.getReadableDatabase(); //创建游标对象 Cursor cursor = db5.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null,null); //利用游标遍历所有数据对象 while(cursor.moveToNext()){ String name = cursor.getString(cursor.getColumnIndex("name")); }//读取游标数据的第二种方法/*if (cursor.moveToFirst()) { for (int i = 0; i < cursor.getCount(); i++) { cursor.moveToPosition(i); String name = cursor.getString(cursor.getColumnIndex("name")); } }*//*如果不明白游标百度吧,就是个用来存放数据的一个类,变量name就是最后获得的数据*/
//删除数据DatabaseHelper dbHelper6 = new DatabaseHelper(MainActivity.this,"zwq"); SQLiteDatabase db6 = dbHelper6.getWritableDatabase(); long c = db6.delete("user", "id=?", new String[]{"1"}); /*c表示删除了几行数据*/
sqlite是不是很简单?确实是很简单。。。
我有空还想研究研究sqlite版本更新到底有什么用,我没有研究透所以代码就不放了。
如果还有强迫症的同志们,非要在手机上看到数据库的变化,就去我的另一篇博客”android中的数据存储方式(一)”看看吧~~大概是在最后的位置。
前几天用这个东西中招了,真的是活活纠结了一天,结果得出的结论就是建库的问题,建议在做测试的时候如果对建库建表进行修改的时候,在运行前先把以前的APP删掉
参考代码:
http://download.csdn.net/detail/zhengyikuangge/9508207
0 0
- android中的数据存储方式(二)SQLite
- Android数据的存储方式(二) —— SQLite
- 关于Android数据存储方式(二)——SQLite
- Android数据存储(二):SQLite存储
- Android 数据存储方式(SQLite)
- Android中的数据存储方式--重点讲SQLite
- Android中的数据存储(三):SQLite
- Android数据的四种存储方式(二) —— SQLite
- Android中数据的存储方式(二)—SQLite数据库
- android数据存储中的SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (二) —— SQLite
- 并查集原理详解
- 263. Ugly Number
- 从头认识java-10.7 使用异常的限制汇总
- homerHEVC代码阅读(9)——基础结构之low_level_funcs_t
- 获取CheckedListBox选中的项
- android中的数据存储方式(二)SQLite
- HDU 5586Sum(最大子序列和)
- 读《工业4.0时代,怎样为孩子筹备未来的教育》有感
- QML基础之Rectangle
- Linux下配置安装PHP环境
- Find the Duplicate Number(Leetcode 287)
- 让孩子把时间花在网络
- hdu 1269 迷宫城堡(强连通分量 Tarjan算法)
- 网页设计大赛第十四天