Android关于SQLiteOpenHelper的封装
publicclassMyDataBaseAdapter{//用于打印log
privatestaticfinalStringTAG=“MyDataBaseAdapter”;
//表中一条数据的名称
publicstaticfinalStringKEY_ID=“_id”;
//表中一条数据的内容
publicstaticfinalStringKEY_NUM=“num”;
//表中一条数据的id
publicstaticfinalStringKEY_DATA=“data”;
//数据库名称为data
privatestaticfinalStringDB_NAME=“Examples_06_06.db”;
//数据库表名
privatestaticfinalStringDB_TABLE=“table1″;
//数据库版本
privatestaticfinalintDB_VERSION=1;
//本地Context对象
privateContextmContext=null;
//创建一个表
privatestaticfinalStringDB_CREATE=“CREATETABLE”+DB_TABLE+”(”+KEY_ID+”INTEGERPRIMARYKEY,”+KEY_NUM+”INTERGER,”+KEY_DATA+”TEXT)”;
//执行open()打开数据库时,保存返回的数据库对象
privateSQLiteDatabasemSQLiteDatabase=null;
//由SQLiteOpenHelper继承过来
privateDatabaseHelpermDatabaseHelper=null;
privatestaticclassDatabaseHelperextendsSQLiteOpenHelper{
/*构造函数-创建一个数据库*/
DatabaseHelper(Contextcontext){
//当调用getWritableDatabase()
//或getReadableDatabase()方法时
//则创建一个数据库
super(context,DB_NAME,null,DB_VERSION);
}
/*创建一个表*/
@Override
publicvoidonCreate(SQLiteDatabasedb){
//数据库没有表时创建一个
db.execSQL(DB_CREATE);
}
/*升级数据库*/
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
db.execSQL(“DROPTABLEIFEXISTSnotes”);
onCreate(db);
}
}
/*构造函数-取得Context*/
publicMyDataBaseAdapter(Contextcontext){
mContext=context;
}
//打开数据库,返回数据库对象
publicvoidopen()throwsSQLException{
mDatabaseHelper=newDatabaseHelper(mContext);
mSQLiteDatabase=mDatabaseHelper.getWritableDatabase();
}
//关闭数据库
publicvoidclose(){
mDatabaseHelper.close();
}
/*插入一条数据*/
publiclonginsertData(intnum,Stringdata){
ContentValuesinitialValues=newContentValues();
initialValues.put(KEY_NUM,num);
initialValues.put(KEY_DATA,data);
returnmSQLiteDatabase.insert(DB_TABLE,KEY_ID,initialValues);
}
/*删除一条数据*/
publicbooleandeleteData(longrowId){
returnmSQLiteDatabase.delete(DB_TABLE,KEY_ID+“=”+rowId,null)>0;
}
/*通过Cursor查询所有数据*/
publicCursorfetchAllData(){
returnmSQLiteDatabase.query(DB_TABLE,newString[]{KEY_ID,KEY_NUM,KEY_DATA},null,null,null,null,null);
}
/*查询指定数据*/
publicCursorfetchData(longrowId)throwsSQLException{
CursormCursor=mSQLiteDatabase.query(true,DB_TABLE,newString[]{KEY_ID,KEY_NUM,KEY_DATA},KEY_ID+“=”+rowId,null,null,null,null,null);
if(mCursor!=null){
mCursor.moveToFirst();
}
returnmCursor;
}
/*更新一条数据*/
publicbooleanupdateData(longrowId,intnum,Stringdata){
ContentValuesargs=newContentValues();
args.put(KEY_NUM,num);
args.put(KEY_DATA,data);
returnmSQLiteDatabase.update(DB_TABLE,args,KEY_ID+“=”+rowId,null)>0;
}
}
转载于:https://blog.51cto.com/songqy/1313939
Android关于SQLiteOpenHelper的封装相关推荐
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )
文章目录 安卓直播推流专栏博客总结 一. x264 编码后的 H.264 数据帧 二. RTMP 协议中 关键帧 / 非关键帧 数据格式 说明 三. 判定 H.264 帧数据分隔符 四. 初始化 RT ...
- 浅谈android中的自定义封装易用的Dialog
转载地址:http://blog.csdn.net/u013064109/article/details/51990526 好久没写Android的博客,最近在做一个android的项目,里面用到我们 ...
- Android拍照相册裁剪封装
Android拍照相册裁剪封装 先列出来需要解决问题 展示效果 注意事项 代码 参考资料 最近用到从相机/相册选择图片的功能,这个功能虽然不复杂,网上的代码也一大堆,但是考虑到可能以后别的地方也会用到 ...
- Android将so库封装到jar包中并加载其中的so库
Android将so库封装到jar包中并加载其中的so库 之前写过将jar包和so库封装到jar包中的文章,但是没有考虑别人调用时需要加载so库的问题.因为so库放入jar之后,so就不是一个独立的. ...
- android sqlite 操作类封装,[Android] Sqlite 数据库操做 工具封装类
sqlite 数据库封装类html DatabaseUtil.java(封装的类)java packagecom.jack.androidbase.tools;importandroid.conten ...
- Android使用SQLiteOpenHelper实现离线浏览
相信在Android开发中,很多APP都会用到数据库来保存数据,今天我们来讨论一下它其中用法,用数据库实现离线浏览.数据库类型很多,Android默认是使用SQLite. 首先我们来看一下界面 很简单 ...
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
文章目录 一. 基本封装数据格式说明 二. 封装 SPS PPS 数据总体说明 三. 封装头数据 四. 封装 SPS 数据 五. 封装 PPS 数据 六. 设置 RTMP 数据包其它参数 七. SPS ...
- android 6.0权限封装,Android6.0------权限申请管理(单个权限和多个权限申请)
Android开发时,到6.0系统上之后,有的权限就得申请才能用了. Android将权限分为正常权限 和 危险权限 Android系统权限分为几个保护级别.需要了解的两个最重要保护级别是 正常权限 ...
- android 加载条封装,Android基于JsBridge封装的高效带加载进度的WebView
图片发自简书App 概述 从去年4月项目就一直用起了JsBridge,前面也针对jsBridge使用姿势介绍过一篇入门篇,<Android JsBridge实战 打造专属你的Hybrid APP ...
最新文章
- AI“暴力美学”背后,预训练模型如何乘风破浪?
- Oracle Dataguard之Real-Time Apply
- Linux 内存映射函数 mmap()函数笔记
- SpringMVC教程--json使用详解
- 10 个 GitHub 上超火和超好看的管理后台模版,后台管理项目有着落了
- Python介绍与特点(自学python知识整理)
- linux如何实现相关功能源代码
- 前端学习(1022):jquery学习目标
- 信息学奥赛一本通 2070:【例2.13】数字对调
- java变量,初始化快,构造函数的执行顺序
- 阿里平头哥“生娃”!最强 RISC-V 处理器玄铁 910 诞生!
- jQuery 图像裁剪插件Jcrop
- 2021高考武汉查询成绩时间,2021高考完什么时候可以查分数 查成绩的时间
- flash读写学习笔记与spi接口及简单测试验证
- 《项目》 之 ESP8266 心知天气 + 时钟 + WS2812点阵屏 + B站粉丝计数
- Kubernetes资源配额
- Android读写日历,Android日历提醒问题总结
- 帝国CMS系统标签e:loop调用的附加SQL条件和排序参数
- Linux系统的基本使用指南(速成,帮助快速上手使用Linux系统)
- 傅里叶变换的通俗理解