Android SQLite之乐学成语项目数据库存储
一、SQLite是什么?为什么要用SQLite?SQLite有什么特点?(下面小编一 一解答)
①SQLite是一个轻量级的关系型数据库,运算速度快,占用资源少,很适合在移动设备上使用, 不仅支持 标准SQL语法,还遵循ACID(数据库事务)原则,无需账号,使用起来非 常方便!
②前面我们学习了使用文件与SharedPreference来保存数据,但是在很多情况下, 文件并不 一定是有效的,如多线程并发访问是相关的;app要处理可能变化的复杂数据结构等等! 比如银行的存钱与取钱!使用前两者就会显得很无力或者繁琐,数据库的出现可以解决这种问题, 而Android又给我们提供了这样一个轻量级的SQLite,为何不用?
③SQLite支持五种数据类型:NULL,INTEGER,REAL(浮点数),TEXT(字符串文本)和BLOB(二进制对象)虽然只有五种,但是对于varchar,char等其他数据类型都是可以保存的;SQLite有个最大的特点: 你可以各种数据类型的数据保存到任何字段中而不用关心字段声明的数据类型是什么,比如你 可以在Integer类型的字段中存放字符串,当然除了声明为主键INTEGER PRIMARY KEY的字段只能够存储64位整数!另外, SQLite 在解析CREATE TABLE 语句时, 会忽略 CREATE TABLE 语句中跟在字段名后面的数据类型信息如下面语句会忽略 name字段的类型信息: CREATE TABLE person (personid integer primary key autoincrement, name varchar(20))
二、几个相关的类
- SQLiteOpenHelper:抽象类,我们通过继承该类,然后重写数据库创建以及更新的方法, 我们还可以通过该类的对象获得数据库实例,或者关闭数据库!
- SQLiteDatabase:数据库访问类:我们可以通过该类的对象来对数据库做一些增删改查的操作
- Cursor:游标,有点类似于JDBC里的resultset,结果集!可以简单理解为指向数据库中某 一个记录的指针!
三、SQLiteDdatabase相关的方法
- execSQL(SQL,Object[]):使用带占位符的SQL语句,这个是执行修改数据库内容的sql语句用的
- rawQuery(SQL,Object[]):使用带占位符的SQL查询操作 另外前面忘了介绍下Curosr这个东西以及相关属性,这里补充下: ——Cursor对象有点类似于JDBC中的ResultSet,结果集!使用差不多,提供一下方法移动查询结果的记录指针:
- move(offset):指定向上或者向下移动的行数,整数表示向下移动;负数表示向上移动!
- moveToFirst():指针移动到第一行,成功返回true,也说明有数据
- moveToLast():指针移动到最后一样,成功返回true;
- moveToNext():指针移动到下一行,成功返回true,表明还有元素!
- moveToPrevious():移动到上一条记录
- getCount( )获得总得数据条数
- isFirst():是否为第一条记录
- isLast():是否为最后一项
- moveToPosition(int):移动到指定行
四、 代码实例
android的数据库放在/data/data/package name/目录下,所以我们需要做的是把自己已有的数据库传入那个目录下,思路是用FileInputStream读取数据库,再用FileOutputStream把读到的东西写入那个目录。这样就可以方便的操作数据库了。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import com.bzu.qilu.R;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import android.util.Log;
/**数据库管理类
* @author 刘齐鲁
*date 2016-5-20
*/ public class DBOpenHelper {
private final int BUFFER_SIZE = 400000;//缓冲区大小
public static final String DB_NAME="idioms.db";//保存的数据库文件名
public static final String PACKAGE_NAME="com.bzu.qilu";//应用包名
public static final String DB_PATH="/data"
+ Environment.getDataDirectory().getAbsolutePath()+"/"
+ PACKAGE_NAME+"/databases";//在手机里存放数据库的位置
private Context context;
public DBOpenHelper(Context context){
this.context=context;
}
//打开数据库
public SQLiteDatabase openDatabase(){
try{
File myDataPathFile = new File(DB_PATH);//
if(!myDataPathFile.exists()){
myDataPathFile.mkdir();//如果没有这个目录则创建
}
String dbfile = myDataPathFile+"/"+DB_NAME;
if(!(new File(dbfile).exists())){
//判断数据库文件是否存在,若不存在则执行导入,否则直接打开数据库
InputStream is = context.getResources().openRawResource(R.raw.idioms);
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[BUFFER_SIZE];
int count = 0;
while((count =is.read(buffer))>0){
fos.write(buffer,0,count);
}
fos.close();
is.close();
}
SQLiteDatabase db =SQLiteDatabase .openOrCreateDatabase(dbfile, null);
return db;
}catch(FileNotFoundException e){
Log.e("Database", "File not found");
e.printStackTrace();
}catch(IOException e){
Log.e("Database", "IO exception");
e.printStackTrace();
}
return null;
}
}
编写测试程序:
public class DBOpenHelperTest extends AndroidTestCase {
public void testDBCopy(){
DBOpenHelper dbOpenHelper = new DBOpenHelper(getContext());
dbOpenHelper.openDatabase();
}
}
会出现下面界面:
aaarticlea/png;base64,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NXZ/zZz7G22t8N6YzrSpqBZO2TKOZOLaie3ISm2rH/ojPs5SPbxPSjhQjFW+r+iT3IVvpY8Lr7dnP6utlTo/KUtRVJyV/D+wlPQhoChKqpIfKEn/Cw585Stfpb4mP1AADBgECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAxBAoAMQQKADEECgAx/w8QP36AeQC+3gAAAABJRU5ErkJggg==" alt="" width="368" height="188" />
我们在这个FileExplorer目录下找到数据库存放的位置
aaarticlea/png;base64,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" alt="" width="567" height="206" />
我们发现数据库有两个,前者是我们创建的数据库,而后者则是为了能让数据库支持事务而产生的 临时的日志文件!一般的大小是0字节! 而在File Explorer里我们确是打不开文件的。所以下面给大家介绍两个方法:
- 1.先导出来,然后用SQLite的图形化工具查看
- 2.配置adb环境变量后,通过adb shell来查看(命令行,装比利器)!
Android SQLite之乐学成语项目数据库存储的更多相关文章
- xamarin.Android SQLite存储
在可移植类库 新建: using SQLite.Net.Interop; using System; using System.Collections.Generic; using System.Li ...
- Android系统的五种数据存储形式(一)
Android系统有五种数据存储形式,分别是文件存储.SP存储.数据库存储.contentprovider 内容提供者.网络存储.其中,前四个是本地存储.存储的类型包括简单文本.窗口状态存储.音频视频 ...
- Android Sqlite 数据库版本更新
Android Sqlite 数据库版本更新 http://87426628.blog.163.com/blog/static/6069361820131069485844/ 1.自己写一个类继承 ...
- Android中的5种数据存储方式
本文转自 http://hi.baidu.com/maguowei/blog/item/7aca46c25574a33ae5dd3ba4.htmlAndroid数据存储Android提供了5种方式存 ...
- Android—SQLITE数据库的设计和升降级
Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也非常的强大.SQLite具备下列特点: 1.轻量级 使用 SQLite 只需要带一个动 ...
- Android SQLite (三 ) 全面详解(一)
官网 SQLite是一款轻型的数据库,是关系型数据库(RDBMS)管理系统,它包含在一个相对小的C库中.目前在很多嵌入式产品中使用了它,它占用资源非常 的低,在嵌入式设备中,可能只需要几百K的内存就够 ...
- Android SQLite总结(一) (转)
Android SQLite总结(一) 郑海波 2012-08-21 转载请声明:http://blog.csdn.net/nuptboyzhb/article/details/7891887 前言 ...
- Android sqlite管理数据库基本用法
Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...
- Android提供了5种方式存储数据:
--使用SharedPreferences存储数据: --文件存储数据: --SQLite数据库存储数据: --使用ContentProvider存储数据: --网络存储数据: 一:使用SharedP ...
随机推荐
- Android 获取屏幕分辨率
原文:Android 获取屏幕分辨率 得到一个屏幕尺寸的三种方法如下: // 通过WindowManager获取 DisplayMetrics dm = new Displ ...
- poj1528---(数论)
题意:一个数除了自身以外的所有因数相加,得到的数如果小于自身,输出deficient,否则输出abundant,如果相等,输出perfect 这道题核心:求一个数的所有除本身之外的因数的和 ,i; ; ...
- 面向对象程序设计-C++_课时30运算符重载——基本规则_课时31运算符重载——原型_课时32运算符重载——赋值_课时33运算符重载——类型转换
区分初始化,赋值 #include <iostream> using namespace std; class Fi { public: Fi() {}//1构造函数 }; class F ...
- mongodb查询关于大于小于的用法;
mongoDB查询操作符: http://www.runoob.com/mongodb/mongodb-operators.html 项目中需要的场景是这样的,每个人每天只能领取一张明信片,换句话说, ...
- C语言 大小端 字节对齐
参考:http://www.cnblogs.com/graphics/archive/2011/04/22/2010662.html 1. 大端序:数据的高位字节存放在地址的低端,低位字节存放在地址的 ...
- gallery利用代码定位图片并且不丢失动画效果
安卓中,利用gallery.setSelection(position);可以手动定位图片 但是众所周知会丢失动画效果 即使是用gallery.setSelection(position,true); ...
- redis持久化与可用性
redis对于持久化有快照及aof日志文件两种形式. 快照db文件,长处是二进制,大小比aof日志文件小.但会丢失最后一次成功备份时间到down机时间的数据. aof相比而言文件大小就大了点,但相对快 ...
- ArcMap制图_显示指定区域地图内容
摘要:有一张完整的中国地图,有时仅要求针对某一特定区域制图,那么如何在不进行裁剪的情况下仅显示该区域范围的要素内容? 步骤: 1.打开ArcMap,加载完整的中国地图: 2.将要显示的区域范围制作成一 ...
- 关于消息推送和service的一些调查-清理内存通知栏点击无响应
起因:做了两个带推送的app:HiApp和WeApp,前者个推,后者百度推送,但前者有一个小缺陷. 现象:两部手机 1.htcD820t手机,运行中的app利用自带的关闭最近程序后,通知栏不清理该ap ...
- decimal类型不能为空,自定义update更新null值的问题。
if (!string.IsNullOrEmpty(yt_time_limit_1)) { entity["yt_time_limit_1"] = Convert.ToDecima ...