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的封装相关推荐

  1. 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 关键帧数据格式 | 非关键帧数据格式 | x264 编码后的数据处理 | 封装 H.264 视频数据帧 )

    文章目录 安卓直播推流专栏博客总结 一. x264 编码后的 H.264 数据帧 二. RTMP 协议中 关键帧 / 非关键帧 数据格式 说明 三. 判定 H.264 帧数据分隔符 四. 初始化 RT ...

  2. 浅谈android中的自定义封装易用的Dialog

    转载地址:http://blog.csdn.net/u013064109/article/details/51990526 好久没写Android的博客,最近在做一个android的项目,里面用到我们 ...

  3. Android拍照相册裁剪封装

    Android拍照相册裁剪封装 先列出来需要解决问题 展示效果 注意事项 代码 参考资料 最近用到从相机/相册选择图片的功能,这个功能虽然不复杂,网上的代码也一大堆,但是考虑到可能以后别的地方也会用到 ...

  4. Android将so库封装到jar包中并加载其中的so库

    Android将so库封装到jar包中并加载其中的so库 之前写过将jar包和so库封装到jar包中的文章,但是没有考虑别人调用时需要加载so库的问题.因为so库放入jar之后,so就不是一个独立的. ...

  5. android sqlite 操作类封装,[Android] Sqlite 数据库操做 工具封装类

    sqlite 数据库封装类html DatabaseUtil.java(封装的类)java packagecom.jack.androidbase.tools;importandroid.conten ...

  6. Android使用SQLiteOpenHelper实现离线浏览

    相信在Android开发中,很多APP都会用到数据库来保存数据,今天我们来讨论一下它其中用法,用数据库实现离线浏览.数据库类型很多,Android默认是使用SQLite. 首先我们来看一下界面 很简单 ...

  7. 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )

    文章目录 一. 基本封装数据格式说明 二. 封装 SPS PPS 数据总体说明 三. 封装头数据 四. 封装 SPS 数据 五. 封装 PPS 数据 六. 设置 RTMP 数据包其它参数 七. SPS ...

  8. android 6.0权限封装,Android6.0------权限申请管理(单个权限和多个权限申请)

    Android开发时,到6.0系统上之后,有的权限就得申请才能用了. Android将权限分为正常权限 和 危险权限 Android系统权限分为几个保护级别.需要了解的两个最重要保护级别是 正常权限  ...

  9. android 加载条封装,Android基于JsBridge封装的高效带加载进度的WebView

    图片发自简书App 概述 从去年4月项目就一直用起了JsBridge,前面也针对jsBridge使用姿势介绍过一篇入门篇,<Android JsBridge实战 打造专属你的Hybrid APP ...

最新文章

  1. AI“暴力美学”背后,预训练模型如何乘风破浪?
  2. Oracle Dataguard之Real-Time Apply
  3. Linux 内存映射函数 mmap()函数笔记
  4. SpringMVC教程--json使用详解
  5. 10 个 GitHub 上超火和超好看的管理后台模版,后台管理项目有着落了
  6. Python介绍与特点(自学python知识整理)
  7. linux如何实现相关功能源代码
  8. 前端学习(1022):jquery学习目标
  9. 信息学奥赛一本通 2070:【例2.13】数字对调
  10. java变量,初始化快,构造函数的执行顺序
  11. 阿里平头哥“生娃”!最强 RISC-V 处理器玄铁 910 诞生!
  12. jQuery 图像裁剪插件Jcrop
  13. 2021高考武汉查询成绩时间,2021高考完什么时候可以查分数 查成绩的时间
  14. flash读写学习笔记与spi接口及简单测试验证
  15. 《项目》 之 ESP8266 心知天气 + 时钟 + WS2812点阵屏 + B站粉丝计数
  16. Kubernetes资源配额
  17. Android读写日历,Android日历提醒问题总结
  18. 帝国CMS系统标签e:loop调用的附加SQL条件和排序参数
  19. Linux系统的基本使用指南(速成,帮助快速上手使用Linux系统)
  20. 傅里叶变换的通俗理解

热门文章

  1. amazeui页面分析之登录页面
  2. java数组简单介绍以及其方法
  3. Leaflet-Develop-Guide
  4. 彻底弄懂浏览器端的Event-Loop
  5. Linux下利用backtrace追踪函数调用堆栈以及定位段错误【转】
  6. 并查集-----好忧伤的并查集
  7. Java TreeMap 源码解析
  8. C# - 委托中的逆变
  9. Centos下Yum安装PHP5.5,5.6
  10. NYOJ 745 蚂蚁问题(两)