Android 常用数据操作封装类案例
1、DbHelper类 继承自SQLiteOpenHelper类,实现对数据库的基本操作
package com.example.utils;import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;/*** Created by Administrator on 2017/12/18.*/public class DbHelper extends SQLiteOpenHelper {//声明数据库的名称private static final String DATABASE_NAME="content.db";//声明版本号private static final int VERSION=1;//重写构造方法private DbHelper(Context context) {super(context, DATABASE_NAME,null, VERSION);}private DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {super(context, DATABASE_NAME,null, VERSION);}//创建数据库的方法 @Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase) {String sql="create table if not exists tb_stu(" +"_id integer primary key," +"sname text," +"sage integer," +"ssex text" +")";sqLiteDatabase.execSQL(sql);sql="insert into tb_stu(sname,sage,ssex) values('Jack',23,'男')";sqLiteDatabase.execSQL(sql);sql="insert into tb_stu(sname,sage,ssex) values('Lucy',22,'女')";sqLiteDatabase.execSQL(sql);}//当数据库发生版本更新的方法 @Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {String sql="drop table tb_stu";sqLiteDatabase.execSQL(sql);onCreate(sqLiteDatabase);}//单例模式private static DbHelper dbHelper;public static synchronized DbHelper getInstance(Context context){if(dbHelper==null)dbHelper=new DbHelper(context);return dbHelper;} }
2、使用单例模式,对DbHelper进行封装(一般在实现数据操作时,调用此类中的方法,而不是DbHelper类中的)
package com.example.utils;import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase;/*** Created by Administrator on 2017/12/18.*/public class DbUtils {//声明SQLite数据库 SQLiteDatabase sdb;//创建构造方法并实例化SQLiteDatabase对象public DbUtils(Context context){sdb=DbHelper.getInstance(context).getReadableDatabase();}//调用SQLiteDatabase对象的 添加 方法进行数据添加,返回值为添加数据行的IDpublic long insert(String tableName, ContentValues values){long id=sdb.insert(tableName,null,values);return id;}//调用SQLiteDatabase对象的 修改 方法进行数据添加,返回值为修改数据行的IDpublic int update(String tableName,ContentValues values,String where,String[] whereArgs){int i=sdb.update(tableName,values,where,whereArgs);return i;}//调用SQLiteDatabase对象的 删除 方法进行数据添加,返回值为删除行public int delete(String tableName,String where,String[] whereArgs){int i=sdb.delete(tableName,where,whereArgs);return i;}//调用SQLiteDatabase对象的 查询 方法进行数据添加,返回值为游标public Cursor query(String tableName,String[] columns,String selection,String[] selectArgs,String groupBy,String having,String orderBy,String limit){Cursor cursor=sdb.query(tableName,columns,selection,selectArgs,groupBy,having,orderBy,limit);return cursor;} }
转载于:https://www.cnblogs.com/QQ862668193/p/8057773.html
Android 常用数据操作封装类案例相关推荐
- Android常用数据存储之SharedPreferences存储和读取用法分享
一:Android常用数据存储,一共有五种方式,分别是 1.SharedPreferences储存数据, 2.文件存储 3.SQLite数据存储 4.ContentProvider储存数据 5.网络存 ...
- torch.Tensor常用数据操作汇总与自动求梯度
在深度学习中,通常会频繁地对数据进行操作,在PyTorch中,torch.Tensor是存储和变换数据的主要工具(Tensor和NumPy的多维数组非常类似,Tensor提供GPU计算和自动求梯度等更 ...
- Pandas数据分析常用数据操作(3年总结)
原创文章,转载请注明来源,谢谢 导入设置 import odps import numpy as np import pandas as pd import matplotlib as mpl imp ...
- mybatis 2 -常用数据操作
1.写入数据并获取自增ID XML配置: <!-- 写入数据获取自增ID --><insert id="insertLog" parameterType=&quo ...
- Flask ORM SQLAlchemy数据操作完整案例
ORM ORM 全拼Object-Relation Mapping. 中文意为 对象-关系映射. 主要实现模型对象到关系数据库数据的映射. 比如:把数据库表中每条记录映射为一个模型对象 优点 只需要面 ...
- redis数据类型及常用数据操作
redis数据类型及操作 1 官方文档(大全) 2 String-字符串 3 Hash-字典 4 List-列表 5 Set-无序集合 6 Sorted Set-有序集合 7 Pub/Sub-订阅/发 ...
- mysql 查询姓王_mysql常用数据操作之查
将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分 简单查询 select * from table_name; select name,age from table_name; ...
- android常用代码合集,Android常用代码
1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...
- Cocos2d-x数据模块教程03:XML数据操作
XML也称可扩展标记语言,在游戏开发中它常常用于保存游戏数据信息,如最高分.游戏等级等信息,另外也常用来描述一些资源等.加载动画的plist文件.瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定 ...
最新文章
- 10624 - Super Number
- .net中用css控制GridView样式
- php中对象怎么访问i属性_PHP--序列化与反序列化详解
- HDU 6136 Death Podracing (堆)
- 用MsgWaitForMultipleObjects代替WaitForSingleObject和WaitForMultipleObjects()
- 简历中的项目如何体现实战能力? 如何有技巧地描述你做过的 project?
- python中关键字参数的特点_Python中的*可变参数与**关键字参数
- 进阶篇-用户界面:4.Android中常用组件
- jQuery 实现一个简单的信息反馈或者信息收集的页面
- dubbo-环境搭建,实现一个简单地dubbo实例(附github地址)
- php功能代码下载,PHP实现下载功能的代码
- 解释一下pack和unpack
- 2018年最新税收分类编码_如何免费在线进行2018年税收
- JavaScript的回调函数及Ajax中的回调函数
- C/C++利用netsh设置动态IP和静态IP
- 2B领域最大的媒体沙龙又来了,你以什么姿势参加?
- Java实现Base64、DES、AES、RSA加解密以及加密方式之间的区别
- Robotaxi里程竞赛开启,激光雷达成新热点 | 2021年自动驾驶趋势解读
- 小程序为什么有的方法要写在methods,有的可直接写在page下
- 父类引用指向子类对象,为什么会调用的是子类中重新的方法