android中怎么将sqlite打包到APK发布
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,今天就跟大家聊聊有关android中怎么将sqlite打包到APK发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。正常的应用数据库放在/da
千家信息网最后更新 2025年01月20日android中怎么将sqlite打包到APK发布
今天就跟大家聊聊有关android中怎么将sqlite打包到APK发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
正常的应用数据库放在/data/data/包名/database/test.db,应用发布时,这个数据库不会随着应用一起发布,
所以为了让我们已经准备好的数据正常使用,必须能实现数据库自身复制到sd卡下面,
实现拷贝res/raw/test.db下资源拷贝到SD卡下的/mnt/sdcard/test/test.db
package your.wzf.namespace.database;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import your.wzf.namespace.R;import android.content.Context;public class CopyDatabase { private final String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath() + "/nqxx_512022"; private final String DATABASE_FILENAME = "zylz.db"; private Context context; public CopyDatabase(Context context) { this.context = context; } public void OpenDataBase() { try { String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME; File dir = new File(DATABASE_PATH); // 判断SD卡下是否存在存放数据库的目录,如果不存在,新建目录 if (!dir.exists()) { dir.mkdir(); } try { // 如果数据库已经在SD卡的目录下存在,那么不需要重新创建,否则创建文件,并拷贝/res/raw下面的数据库文件 if (!(new File(databaseFilename)).exists()) { // /res/raw数据库作为输出流 InputStream is = this.context.getResources().openRawResource(R.raw.zylz); // 用于存放数据库信息的数据流 FileOutputStream fos = new FileOutputStream(databaseFilename); byte[] buffer = new byte[8192]; int count = 0; // 把数据写入SD卡目录下 while ((count = is.read(buffer)) > 0) { fos.write(buffer, 0, count); } fos.flush(); fos.close(); is.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } catch (Exception e) { } }}
只需要注意下,项目建立的时候不存在res/raw,只需要手动在res中建立raw文件夹
访问在sd卡中的数据库需要这样写:
package your.wzf.database.dal;import java.util.ArrayList;import java.util.List;import java.util.UUID;import your.wzf.database.dal.*;import your.wzf.database.model.Model_Bt_Farmer;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;public class Bt_Farmer { private String databasePath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath() + "/nqxx_512022"; private String databaseFileName = "zylz.db"; String fullPath = ""; public Bt_Farmer(Context context) { fullPath = databasePath + "/" + databaseFileName; } /** * 插入一条记录 * @param farmer Model_Bt_Farmer对象 */ public void Insert(Model_Bt_Farmer farmer) { SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(fullPath, null); db.execSQL("insert into BT_FARMER (ID,NAME_,IDENTITY_CARD,NAME_PY) values(?,?,?,?)", new Object[] { farmer.getId(), farmer.getName(),farmer.getIdCard(),farmer.getName_py()}); db.close(); }}
看完上述内容,你们对android中怎么将sqlite打包到APK发布有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
数据
数据库
目录
内容
拷贝
文件
应用
信息
对象
手动
数据流
文件夹
时候
更多
知识
篇文章
行业
资源
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
福建java软件开发管理
招聘网络技术支持问答
无线网网络安全管理要求
如何把mdf附加到数据库
学校网络安全保障体系建设
学生信息网络安全活方案
苏州微信软件开发平台
怎么查服务器硬盘的mac
中传黄玮 网络安全
fms服务器 下载
table 数据库
企业认证免费服务器
网络安全小诗8句
毕设怎样确保数据库的安全性
山东戴尔服务器
网络安全限制软件
软件定义网络技术SDS
企业软件开发开发
制定网络安全法的特点
数据库配置文件说明
云南塔式服务器价格
决策狗大数据库
信息化行业软件开发
高级网络安全师考证多少钱
数据库自动审计有什么用
威海商城软件开发解决方案
服务器安全狗防护页面
剪辑软件开发商
qt 调用数据库查询
dp软件开发