Android数据库的运用
很简单的应用,所以我直接简单明了。
public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context) { super(context, DBInfo.DB.DB_NAME, null, DBInfo.DB.DB_VERSION); } @Override//这个是数据库第一次创建的时候用 public void onCreate(SQLiteDatabase db) { db.execSQL(DBInfo.Table.USER_INFO_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(DBInfo.Table.USER_INFO_DROP); onCreate(db); }} 当你完成了对数据库的操作(例如你的 Activity 已经关闭),需要调用 SQLiteDatabase 的 Close() 方法来释放掉数据库连接。
下面是对数据库的增删改查(每种方法包括两种方法介绍:优点与缺点): /** * 添加一条记录到数据库 * * @param id * @param name *///第一种方法 public void add(String id, String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); // 不好之处:无返回值,无法判断是否插入成功 db.execSQL("insert into user_table (userId,userName) values (?,?)", new Object[] { id, name }); db.close(); }//第二种方法 public long addAndroid(String id, String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("userId", id); values.put("userName", name); // 好处:有返回值 但是当表多的时候查询就会麻烦 long result = db.insert(Table.USER_INFO_TB_NAME, null, values);// 返回值是插入的是第几行,大于0代表添加成功 db.close(); return result; } /** * 查询某条记录是否存在 * * @param name * @return */ public boolean find(String name) { SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.rawQuery( "select * from user_table where userName = ?", new String[] { name }); boolean result = cursor.moveToNext(); db.close(); return result; } public boolean findAndroid(String name) { SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query(Table.USER_INFO_TB_NAME, null, "userName = ?", new String[] { name }, null, null, null); boolean result = cursor.moveToNext();// true代表查找到了//有许多的方法,可以看api文档介绍 db.close(); return result; } /** * 修改一条记录 * * @param id * @param name */ public void update(String id, String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); // 缺点无返回值 db.execSQL("update user_table set userName = ? where userId = ?", new Object[] { name, id }); db.close(); } public int updateAndroid(String id, String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues();//是一个map集合,谷歌封装好的 所有有key与value值。 values.put("userName", name); // 返回值大于0代表修改更新成功 int result = db.update(Table.USER_INFO_TB_NAME, values, "userId = ?", new String[] { id }); db.close(); return result; } /** * 删除一条记录 * * @param name */ public void delete(String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL("delete from user_table where userName = ?", new String[] { name }); db.close(); } public int deleteAndroid(String name) { SQLiteDatabase db = dbHelper.getWritableDatabase(); int result = db.delete(Table.USER_INFO_TB_NAME, "userName = ?", new String[] { name });// 返回值为受影响的行数,大于0代表成功 db.close(); return result; }
Android数据库的运用的更多相关文章
- 深入解析Sqlite的完美替代者,android数据库新王者——Realm
写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...
- [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...
- Android 数据库框架OrmLite的使用(一)
在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...
- Android数据库升级
随着Android应用版本的迭代,经常遇到数据库表结构发生改变,或者一些指定的表数据需要更新.这也就引出一个问题Android数据库的更新问题. Android数据库升级分类 Android数据库更新 ...
- 优雅的处理Android数据库升级的问题
原始完成于:2015-04-27 19:28:22 提供一种思路,优雅的处理Android数据库升级的问题,直接上代码: 1 package com.example.databaseissuetest ...
- Android数据库之SQLite数据库
Android数据库之SQLite数据库 导出查看数据库文件 在android中,为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data ...
- Android 数据库读取数据显示 [5]
2016-12-1 课程内容 昨天学了Android数据库升级.降级.创建 今天把数据库表里面的数据读取出来显示到手机屏幕上 下面代码是MainActivity.java 的代码 package co ...
- Android数据库信息显示在listview上
Key Points: 1.使用SimpleCursorAdapter将Android数据库信息显示在listview上 adapter = new SimpleCursorAdapter(this, ...
- android数据库持久化框架
android数据库持久化框架
- Android数据库高手秘籍(一)——SQLite命令
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/38461239 要想熟练地操作不论什么一个数据库.最最主要的要求就是要懂SQL语言, ...
随机推荐
- 使用java发送邮件
首先要加入mail.jar包 import java.io.UnsupportedEncodingException; import java.util.Properties; import java ...
- j2ee学习资料收集
1 tomcat web.xml加载顺序, 讲解了web.xml什么时候加载,内部的各个组件加载的顺序 http://blog.sina.com.cn/s/blog_4553489c01010 ...
- 如何在Form++开源组态平台添加硬件采集接口
E-Form++是一套值得推荐的高品质开源C++矢量图形库,C++编程之所以异常困难,主要就是没有很专业的C++基础架构库有关.E-Form++的出现一定程度上填补了这个空白.是开发工控.监控.建模与 ...
- Java随笔一
1.继承:子类调用超类构造器时,super调用构造器的语句必须是子类构造器的第一条语句: Java没有多继承,但是可以构造实现多个接口的类: 2.多态:Java 中,对象变量是多态的.一个父类变量既可 ...
- css声明应用优先级
1.特殊性 选择器的特殊值由四部分组成:0,0,0,0 第一位预留给内联样式 <h1 style="color:red;"></h1> 第二位属于ID选 ...
- 如何理解meta标签
相信大家对meta标签都不陌生,但是打开某些网页源代码看到一堆的meta难免一脸蒙逼.废话少说,请大家更随我一起探索meta标签都有哪些属性以及作用. W3C给meta标签的定义是:<meta& ...
- SE homework2
1. (1) Fault: for循环语句中的条件表达式i > 0,不能检查到数组的第一个元素,应该为 i >= 0 . (2) test:x=[]:y=3 Expected = -1 A ...
- 分析一个delphi程序
系统 : Windows xp 程序 : k4n6 程序下载地址 :https://pan.baidu.com/s/1pLANxyj 要求 : 注册机编写 使用工具 : OD & DeDe 可 ...
- Photoshop制作的海报修改~
经过几天的征求意见,感觉还是要重新制作,于是把颜色删减了不少 . 这次运用了蒙版和渐变,但感觉效果不太好.再改.. 后来觉得给人的单身感有点少.. 不知道感觉如何,但自己觉得比以前好看..
- MySQL数据库在linux的安装,编程与操作
一.安装 ubuntu上安装MySQL非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server 2. apt-get isntall mysql ...