安卓开发使用Sqllite数据库动态存储数据
来源:互联网 发布:网络检测公司 编辑:程序博客网 时间:2024/06/05 12:48
公司刚分配的任务说需要用内置sqllite数据库开发一个app,这两天找了一下资料,终于成功。下面贴一下代码。
第一步,首先,在你的项目中res文件夹下,新建一个raw文件夹,然后把你建好的sqllite数据库放在这个文件夹下面。
第二部,新建一个DatabaseHelper类,继承自带的SQLiteOpenHelper
public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_PATH = "/storage/sdcard0/"; //你想把sqllite放在手机中的位置private static final String DATABASE_NAME = "dhxj.db"; //sqllite数据库名称private static final int DATABASE_VERSION = 3;private SQLiteDatabase database ;public Context context;public DatabaseHelper(Context context) {super(context, DATABASE_PATH+"/"+DATABASE_NAME, null, DATABASE_VERSION);setContext(context);//openDatabase();}public void setContext(Context context){this.context = context;}public Context getContext(){return context;}public SQLiteDatabase getDatabase() {return database;}@Override public void onCreate(SQLiteDatabase db){}public SQLiteDatabase openDatabase() { try { // dhxj.db文件的绝对路径 String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME; File dir = new File(DATABASE_PATH); // 如果/storage/sdcard0/路径不存在,则创建这个路径 if (!dir.exists()) dir.mkdir(); // 如果/storage/sdcard0/路径下存在dhxj.db这个数据库,把这个数据库删除// /* if((new File(databaseFilename)).exists()) { new File(databaseFilename).delete(); }*/ //如果/storage/sdcard0/路径下不存在dhxj.db这个数据库,则将项目raw文件夹下的dhxj.db复制到你设置的绝对路径中 if (!(new File(databaseFilename)).exists()) { // 获得封装dictionary.db文件的InputStream对象 InputStream is = getContext().getResources().openRawResource( R.raw.dhxj); FileOutputStream fos = new FileOutputStream(databaseFilename); byte[] buffer = new byte[8192]; int count = 0; // 开始复制dhxj.db文件 while ((count = is.read(buffer)) > 0) { fos.write(buffer, 0, count); } fos.close(); is.close(); } // 打开/storage/sdcard0/目录中的dhxj.db文件 database = SQLiteDatabase.openOrCreateDatabase( databaseFilename, null); } catch (Exception e) { } finally{ } return database; }
第三步,在需要调用数据库的时候加上下面的代码
DatabaseHelper mOpenHelper = new DatabaseHelper(this); SQLiteDatabase db = mOpenHelper.openDatabase();
现在你就可以通过db对内置的sqllite数据库进行操作了
0 0
- 安卓开发使用Sqllite数据库动态存储数据
- android数据存储(三)之使用SQLlite数据库存储
- android数据存储(三)之使用SQLlite数据库存储
- 安卓数据存储-使用LitePal操作数据库
- 安卓数据存储-SQLite数据库
- sqllite数据库简单使用
- 2015.5.13安卓学习笔记之sqllite数据库
- 安卓开发之数据存储SharedPreferences
- 安卓开发 SharedPreferences存储数据
- 安卓开发之数据存储方式
- 安卓开发之数据存储类
- 安卓开发之数据存储
- SQLlite在安卓中的基本详解和简单使用
- 安卓常用数据存储方式之数据库存储
- Android安卓——数据存储之数据库存储
- android sqllite数据库使用详解
- SQLlite数据库学习与使用
- SQLLite数据库创建和使用
- 【软件工程】小结(二)
- 高速页面加载之无阻塞Javascript加载
- java 类变量和实例变量的初始化
- 解析圆—-智能手表UI设计理念
- 单一设计模式
- 安卓开发使用Sqllite数据库动态存储数据
- Android指针管理:RefBase,SP,WP
- 关于:char (*p)[10] 、char p[10]和char *p[10]的讨论
- 浅析PHP abstract和interface之间的区别
- HashSet 与HashMap底层实现
- “病毒式”网络广告视频就是这样一种宣传方式
- “病毒式”网络广告视频就是这样一种宣传方式
- “病毒式”网络广告视频就是这样一种宣传方式
- hdu 2182(简单搜索)