初学Android之SQLite
来源:互联网 发布:sql 出生日期转换年龄 编辑:程序博客网 时间:2024/06/08 06:43
AndroidSQLite: 插删改查方法总结
Android中增删改查相对比较容易,开发团队给我们封装的已经很好了,不需要自己写sql语句。
首先写一个继承SQLiteOpenHelper的类 ,我就叫MyOpenHelper吧。
我们看SQLiteOpenHelper的注释是这样写的:
A helper class to manage database creation and version management. 他可以帮助我们创建和管理数据库。
这里面有好多方法,在这里只需要用这几个方法:
//context:上下文//name:数据库名字//factory:游标工厂//version:版本号public MyOpenHelper(Context context, String name, CursorFactory factory,int version) { super(context, name, factory, version);}//创建public void onCreate(SQLiteDatabase db) { //在这里创建一个表 db.execSQL("create table user(_id integer primary key autoincrement, name char(10), age integer(10));"); }//更新(android数据库可以更新,用新版本替换旧版本时使用)public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
接下来写一个测试类,继承AndroidTestCase
注意测试类写好后还需要在AndroidManifest.xml中进行一下配置
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="测试类包" ></instrumentation><uses-library android:name="android.test.runner" />
测试类:
private MyOpenHelper moh;//如果在这里直接new了会报空指针异常,因为测试框架初始化后直接走了测试方法,private SQLiteDatabase db;//测试框架初始化完毕之后,在测试方法之前,此方法调用@Overrideprotected void setUp() throws Exception { super.setUp(); moh = new MyOpenHelper(getContext(), "data.db", null, 1); db = moh.getWritableDatabase();}//添加,直接调用insert方法public void insert(){ ContentValues values = new ContentValues(); values.put("name", "csdn"); values.put("age", 18); //此方法有三个参数: //table: 指定表名 //nullColumnHack:指定插入列,可选,指定null时,全部插入 //values 键值对,指定每行插入的数据是什么 db.insert("user", null, values);}//删除public void delete(){ //第一个参数指定对哪个表进行操作 //第二个参数指定根据表中哪个列删除 如 根据id //第三个参数指定具体删除的元素对应列的值 如 id=1 此位置为数组。 db.delete("user", "_id=?", new String[]{"1"});}//修改public void update(){ ContentValues values = new ContentValues(); values.put("age", "18"); //对value值进行修改 int i = db.update("user", values, "name=?", new String[]{"csdn"}); System.out.println(i);}//查询这个方法参数一大堆//table:表名 //columns:列名,指定查询哪些列字符串数组,指定为null时,查询所有//selection 字符串 查询条件 //selectionArgs 填充占位符//groupBy 分组//having 分组条件//orderBy 排序//limit 分页public void select(){ Cursor cursor = db.query("user", null, null, null, null, null, null, null); //遍历 while(cursor.moveToNext()){ String name= cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); System.out.println("name:"+name+" ,age:"+age); }}
0 0
- 初学Android之SQLite
- 初学Android,数据存储之使用SQLite数据库(四十五)
- 初学Android,数据存储之使用SQLite数据库(四十六)
- 初学安卓路之初识SQLite
- Android学习(二)(初学)SQLite存储方式
- SQLite初学
- 初学SQLite
- Android之初学Appwidget
- android动画之初学
- Android初学之ViewPager
- Android 初学之SharedPreference
- Android初学之Bundle
- Android初学之Handler
- Android 之 SQLite 数据库
- android之SQLite
- Android之SQlite存储
- Android之SQlite存储
- Android之SQLite数据库
- MaskFilter 介绍
- mount文件系统挂载
- Educational Codeforces Round 1 C.Nearest vectors(排序)
- python 切片
- windows 32位系统,编译hadoop2.6
- 初学Android之SQLite
- css选择器
- OC属性、构造函数的基本知识
- zzuoj-10409: D.引水工程 (最小生成树+原点)
- 深入JVM垃圾回收算法
- linux上安装tomcat,配置tomcat服务开机自启动
- Android 资源Id工具类
- DragonBoard 410c的配置与系统更新
- H+响应式后台主题UI