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语言, ...
随机推荐
- ios中自定义cell 设置cell的分组结构
ios系统默认的cell并不能满足我们的需求 这个时候就需要自定义我们的cell 自定义cell为分组的时候 需要设置分组样式 以下是我常用分组的二种方法: 第一是 在自定义的UITableView ...
- Ubuntu 手工挂载硬盘
首先我们得到到/dev/sda3这个分区的UUID,使用以下命令: sudo blkid /dev/sda3 结果如下: 然后,我们按照/etc/fstab文件中的格式添加一行如下内容: UUID=9 ...
- MySQL中的information_schema数据库详解
information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等.有些时候用于表述该信 ...
- 用户新加入Group
Linux中一个user可以加入多个分组 以下以用户holmes为例,原始用户组为holmes,新加入用户组users 首先进入root模式 [holmes@KirCentOS share]$ su ...
- REVERSE-Daily(4)-Elfcrackme2
非常坑爹的一道题目,看似非常简单,实则有套路 链接: http://pan.baidu.com/s/1i4XLCd3 密码:9zho 为了练手 我会写出三种解法,包括 结合ascii码值范围的爆破,动 ...
- 三种renderman规范引擎的dice对比
次表面做的有些烦躁,既然如此,索性先记一下前一阵比较的PIXIE.3delight.prman的dice方式. 研究过reyes的人都知道dice,简而言之,就是为了生成高质量高精度的图片(电影CG) ...
- 个人Web工具箱&资源整理(1)
很久就想把使用的工具及收藏的资源整理一番:一是为了传达博客社区的理念:资源共享,而是方便自己及团队快速获取. 学习资源: 首推两个入门级在线参考网站. 1 w3c school. 2 Runoob.c ...
- java文件编译及运行
1 配置环境变量 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files (x86 ...
- REDIS 事务机制
基本事务操作: 任何数据库都必须要保证一种原子执行操作:最基本的原子执行操作肯定是需要提供: 举一个例子来说明: 当对某个Key 做一个统计: 可能不同的Client做它那部分的统计,一段时间后,服务 ...
- 如何清除SQL Server Management Studio的最近服务器列表
SQL Server Management Studio (SSMS) 的"连接到服务器"对话框会记录用户所有访问过的服务器名称,这个功能对于经常连接多个数据库的人来说确实挺方便的 ...