Android SQLiteDatabase的使用
- package com.shawn.test;
- import android.content.ContentValues;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
- public class DatabaseAdapter{
- private static final String DB_NAME = "Test.db"; //数据库名
- private static final int DB_VERSION = 1; //数据库版本
- private static final String DB_TABLE = "my_order"; //表名
- private static final String KEY_ID = "_id"; //id
- private static final String KEY_ORDER_ID = "order_id"; //订单号
- private static final String KEY_TYPE = "_type"; //订单类型
- private static final String KEY_STATE = "_state"; //订单状态
- private Context context;
- private DatabaseHelper mDatabaseHelper;
- private SQLiteDatabase mSQLiteDatabase;
- private static class DatabaseHelper extends SQLiteOpenHelper{
- //创建数据库语句
- private static final String DB_CREAT = "CREATE TABLE "
- + DB_TABLE
- + " (" + KEY_ID + " INTEGER PRIMARY KEY,"
- + KEY_ORDER_ID + " TEXT,"
- + KEY_TYPE + " INTEGER,"
- + KEY_STATE + " INTEGER)";
- public DatabaseHelper(Context context) {
- super(context, DB_NAME, null , DB_VERSION);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- // TODO Auto-generated method stub
- db.execSQL(DB_CREAT);
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // TODO Auto-generated method stub
- db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);
- onCreate(db);
- }
- }
- public DatabaseAdapter(Context context) {
- this.context = context;
- }
- //开启
- public void open() {
- mDatabaseHelper = new DatabaseHelper(context);
- mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
- }
- //关闭
- public void close() {
- mSQLiteDatabase.close();
- mDatabaseHelper.close();
- }
- //增
- public long insertData(String orderId, int type) {
- ContentValues values = new ContentValues();
- values.put(KEY_ORDER_ID, orderId);
- values.put(KEY_TYPE, type);
- values.put(KEY_STATE, Config.STATE_APPLY);
- long id = mSQLiteDatabase.insert(DB_TABLE, KEY_ID, values);
- return id;
- }
- //删
- public boolean deleteData(Context context, long id) {
- boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" +id, null)>0;
- return delete;
- }
- //改
- public boolean updateData(long id, int state) {
- ContentValues values = new ContentValues();
- values.put(KEY_STATE, ""+state);
- boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID + "=" +id, null)>0;
- return update;
- }
- //查
- public Cursor fetchData(String selection) {
- Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection, null, null, null, null);
- if(mCursor != null)
- mCursor.moveToFirst();
- return mCursor;
- }
- }
Android SQLiteDatabase的使用的更多相关文章
- Android:Sqlitedatabase学习小结
今天刚刚学习完Sqlite数据库的基础知识,随即把学到的东西记录下来,以便随后查阅,以下是自己对Sqlite数据库的小结:1.Sqlite简介 Sqlite是一款轻型的数据库,它包含在一个 ...
- Android SQLiteDatabase分析
Android中的数据存储使用的小巧的SQLite数据库. 为了方便java层使用SQLite,android做了大量的封装.提供了一些列的类和API.本文章就揭露这些封装背后的类图关系. 老规矩,首 ...
- Android SQLiteDatabase使用总结
SQLiteDatabase数据库操作 1.创建一个继承了类SQLiteOPenHelper类复写相应的方法,和构造函数 2.然后创建一个类,定义一个私有变量(上述类的实例化对象),在构造函数中进行初 ...
- Android sqlitedatabase 事务
SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果为成功则提交事务,否则回滚事务 ...
- Android SQLiteDatabase中query、insert、update、delete方法参数说明
1.SQLiteDataBase对象的query()接口: public Cursor query (String table, String[] columns, String selection, ...
- android SQLiteDatabase数据库使用的时候 常见问题
用数据库的时候有时候一定要用_id否则会报错 对于Contentprovider的查询用contentResolver.insert() 一般的数据库操作用db.insert();
- Android Sqlite数据库执行插入查询更新删除的操作对比
下面是在Android4.0上,利用Sqlite数据库的insert,query,update,delete函数以及execSql,rawQuery函数执行插入,查询,更新,删除操作花费时间的对比结果 ...
- 4、Android-数据存储方案(SQLite数据库存储)
4.4.SQLite数据库存储 这是Android内置的数据库 是一款轻量级的关系型数据库 运算速度非常快.占用资源少.通常只需要几百kb的内存就够了 因而特别适合在移动端设备上使用 SQLite不仅 ...
- Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase
数据库的创建,获取,执行sql语句: 框架搭建:dao 思考: 1.数据库保存在哪里? 2.如何创建数据库?如何创建表? 3.如何更新数据库?如何更改表的列数据? 4.如何获取数据库? 5.如何修改数 ...
随机推荐
- 004-log-common-logging,Apache整合日志框架JCL门面框架、JCL+log4j
一.概述 Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具.它提供给中间件/日志工具开发者一个 ...
- centos7 更改ip
http://blog.csdn.net/heimerdinger_feng/article/details/71171231 CentOS7在桥接模式下配置静态ip 原创 2017年05月04日 1 ...
- Windows 10 搭建Python3 安装使用 protobuf
Protobuf对比XML.Json等其他序列化的优势 protobuf 不管是处理时间上,还是空间占用上都优于现有的其他序列化方式.内存暂用是java 序列化的1/9,时间也是差了一个数量级,一次操 ...
- 【Qt开发】【ARM-Linux开发】 QT在ARM上显示字体的问题
在PC机上利用QT开发的应用程序在设置字体时,在PC上运行,可根据自己的设置,字体随之变大或变小.而移植到ARM上运行时发现,显示字体与所设置的字体不用,字体普遍偏小.经过上网搜索发现,是环境变量字库 ...
- 【编程开发】MD5算法原理
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. MD5功能: ...
- 【Matlab开发】matlab删除数组中符合条件的元素与散点图绘制
[Matlab开发]matlab删除数组中符合条件的元素与散点图绘制 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ matlab删除数组中符合条件的元素 如 ...
- Python安装pip3
在新的电脑上,偶尔会出现无法安装pip的问题. 今天看见了一位大神的方法: 在cmd窗口中输入python -m ensurepip 然后使用pip命令安装其他包.pip3 install 模块名 说 ...
- rqnoj PID95:多多看DVD(加强版)
题目描述 多多进幼儿园了,今天报名了.只有今晚可以好好放松一下了(以后上了学后会很忙).她的叔叔决定给他买一些动画片DVD晚上看.可是爷爷规定他们只能在一定的时间段L看完.(因为叔叔还要搞NOIP不能 ...
- [转帖]三款Nehalem至强5500塔式服务器横评对决(4)
三款Nehalem至强5500塔式服务器横评对决(4) http://tech.sina.com.cn/b/2009-12-14/05051172233_4.shtml 可以看到两路服务器的设置 基本 ...
- npm添加代理和取消代理
1.设置http代理 npm config set proxy=http://代理服务器地址:8080 2.取消代理 npm config delete proxy 3.npm设置淘宝镜像 npm c ...