android中怎么将sqlite打包到APK发布
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,今天就跟大家聊聊有关android中怎么将sqlite打包到APK发布,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。正常的应用数据库放在/da
千家信息网最后更新 2025年11月08日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安全错误
数据库的锁怎样保障安全
万户网络技术有限公司续费
社科研究数据库
洞察网络安全
从事软件开发最高等级是多少
数据库系统dbs全称
河南艾丽斯客网络技术
dhcp服务器怎么设置
如何设置数据库为紧急模式
在数据库xskc
专科网络技术专业怎么样
网络安全与防范任务书范文
最牛服务器芯片
做软件开发身体受不了
软件开发质量控制2021
软件开发销售人员招聘
数据库技术应用方向专业
路由器 迅雷服务器响应超时
使用go语言创建数据库
如何把调查问卷做成数据库
如何招聘软件开发人员
网络安全周日期
洞察网络安全
it软件开发前端
软件开发院校有哪些
宜搭服务器认证收费吗
网络安全法最新百度文库
最牛服务器芯片
山西互联网软件开发资格
软件开发工程师电话面试题
手机服务器过载或链接被防火墙屏蔽怎么办