Sqlite 数据库未从 Android 资产文件夹复制

2024-03-10

我正在尝试将名为“adinpect”的数据库从资产文件夹复制到应用程序数据库文件夹,但它不起作用......

代码(在主活动 onCreate() 中,仅用于测试):

 try {
        String destPath = "/data/data/" + getPackageName() + "/databases";
        File f = new File(destPath);

        if (!f.exists()) {

            f.mkdirs();
            f.createNewFile();
            //---copy the db from the assets folder into the databases folder---
            CopyDB(getBaseContext().getAssets().open("adinspect"), new FileOutputStream(destPath + "/adinspect"));
        }

    } 
        catch (FileNotFoundException e) {
            e.printStackTrace();
    }   catch (IOException e) {
            e.printStackTrace();
    }


 public void CopyDB(InputStream inputStream, OutputStream outputStream) throws IOException {

        //---copy 1K bytes at a time---
        byte[] buffer = new byte[1024];
        int length;
        while ((length = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, length);
        }

        inputStream.close();
        outputStream.close();

}//end copyDB

“databases”文件夹已创建,但其中没有任何内容,尝试通过 DDMS 访问它。

我没有收到任何错误。

有什么建议吗?

Thanks


此代码将帮助您从资产文件夹复制数据库。 您可以先检查DB是否存在。

try{
    // CHECK IS EXISTS OR NOT
    SQLiteDatabase dbe = SQLiteDatabase.openDatabase("/data/data/"+getPackageName+"/databases/dbname.sqlite",null, 0);
    dbe.close();
}
catch(Exception e)}
{
    // COPY IF NOT EXISTS
    AssetManager am = getApplicationContext().getAssets();
    OutputStream os = new FileOutputStream("/data/data/"+getPackageName+"/databases/dbname.sqlite");
    byte[] b = new byte[100];
    int r;
    InputStream is = am.open("dbname.sqlite");
    while ((r = is.read(b)) != -1) {
         os.write(b, 0, r);
   }
   is.close();
   os.close();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sqlite 数据库未从 Android 资产文件夹复制 的相关文章

  • 发现多个文件具有与操作系统无关的路径“protobuf.meta”

    我发现一些兼容性问题com google android gms play services auth 11 6 0 and com android support test espresso espresso core 3 0 1当用作
  • Android:加速度传感器中的z值范围在不同设备上不同

    我想检测设备是否面朝上 不是成角度 而是平放在地面上 在某些面朝上的设备上 z 值将返回 9 10 之间的值 大多数设备 然而 在 Nexus 7 上 对于面朝上 z 值将返回 6 8 之间的值 我的代码是 if z value gt 9
  • Android 工具栏:横向模式下的小标题文本

    我正在 Android 上测试新的 Toolbar 和 AppCompat 主题 但遇到了问题 我的工具栏标题文本在纵向模式下看起来是正常大小的 但在横向模式下它变得相当小 尽管我没有在代码中执行任何操作来更改标题的文本大小 以下是屏幕截图
  • Android 中如何调用 getContentResolver() ?

    我想知道当时的背景getContentResolver 叫做 我有一个这样的场景 我有一个调用方法的活动 AmyFunc B 类 这不是一项活动 所以 在B类中我必须使用getContentResolver 我直接打电话getContent
  • BroadcastReceiver未收到警报广播

    我有一个设置新的重复警报的代码 在生产中我将使用 inexactRepeating 但是我注册的用于处理它的 BroadCastReceiver 没有被调用 这是我设置闹钟的代码 newAlarmPeriod 5000 For debugg
  • Android中如何制作传统蒙古文ListView

    如何在 Android 应用程序中为垂直蒙古文制作水平滚动的 ListView 背景 Android 对世界上许多语言都有相当好的支持 甚至是阿拉伯语和希伯来语等 RTL 语言 但是 没有内置对自上而下语言的支持 例如传统蒙古语 http
  • API 级别 15 的印地语字体(又名 Android 4.0.2)

    我有一个基于印地语内容的 Android 应用程序 并使用了 Android API 16 SDK 中的 devangiri 字体 并重命名为印地语 ttf 文本在 API 级别 16 和 17 上渲染良好 但在 Android API 级
  • 如何在屏幕上动态移动 Textview? (框架布局)

    我有一个应用程序 可以在屏幕上的 FrameLayout 上显示相机视图 屏幕处于固定风景模式 我需要编写一个带有动态确定的屏幕坐标的textView 坐标以百分比确定 例如 将文本视图写入屏幕坐标 x 80 y 20 屏幕上 将文本视图写
  • Android - GC 滞后于列表视图滚动“更大”的图像

    在列表视图中 我想在列表条目上绘制一个图像 这 20 张图像必须缩放以填充垂直模式的宽度 手机分辨率为 480 x 800 像素 SGS2 图像分辨率为 400x400 大小约为 100KB 我已将图像放在可绘制文件夹中 当我滚动列表时 它
  • Android 4.3 KeyStore - 尝试检索密钥时链== null

    下列的这个博客 http nelenkov blogspot de 2013 08 credential storage enhancements android 43 html 我使用此代码来创建和存储KeyPair在 Android 密
  • Android Facebook SDK - 无法接收访问令牌

    我正在尝试在我的 Android 应用程序中使用 Facebook SDK 这是片段 Facebook myFacebook new Facebook 123456789012345 myFacebook authorize LogInSc
  • 将 Android 应用程序与服务器上的 Matlab 应用程序连接

    我正在 Android 上开发一个应用程序 它将获取图像输入 并将该输入传递到安装 MATLAB 应用程序的服务器 MATLAB 应用程序将计算结果并将其返回到该 Android 应用程序 我想知道我可以使用哪个服务器 如何将 MATLAB
  • Proguard错误android,无法访问jar文件

    这是我第一次使用 progurad 在导出签名的 apk 时出现以下错误 错误 无法访问 jarfile lib proguard jar 我取消注释了 proguard config 行 To enable ProGuard to shr
  • 在Android Dialog中,如何为startActivityForResult设置onActivityResult?

    从活动中 我可以轻松设置onActivityResult 并打电话startActivityForResult 一切正常 现在 我需要打电话startActivityForResult 从对话框中 但我无法设置onActivityResul
  • registerForActivityResult TakePicture 未触发

    我尝试使用新的 registerForActivityResult 来拍照 我可以打开相机意图 但拍照后 未触发回调 并且我在 logcat 上看不到任何有关 Activity Result 或错误的信息 我也尝试了RequestPermi
  • 如何使用Android平板模拟器?

    我想开始 Android 平板电脑应用程序开发 我已经使用 1024X600 模拟器创建了一个新的 avd 并启动了 但是当我单击任何应用程序时如何从模拟器返回 是否有任何特定的 api 可用于开发 android 平板电脑应用程序 或者我
  • 错误:升级到 lombok 1.16.2 后包 javax.annotation 不存在

    我的 android 项目使用 lombok 1 16 0 构建得很好 但是一旦我将依赖项更改为目标 1 16 2 我在使用 lombok 注释的任何地方都会收到以下错误 Error 20 1 error package javax ann
  • onActivityresult 数据为空

    这是我的相机应用程序 我想在其中捕获图像并裁剪它 但它拍照保存在我的 myimage 目录中 但不执行裁剪功能 请我需要帮助 我是这个领域的新人 这是我的相机开源代码 Intent intent new Intent MediaStore
  • 隐式意图和显式意图之间的区别[重复]

    这个问题在这里已经有答案了 我对之间的区别感到困惑implicit and explicit意图 隐式意图和显式意图的目的是什么 为什么使用这些概念 我是 Android 应用程序的新手 所以请提供一些示例 隐式活动调用 使用意图过滤器 您
  • 如何在我的 Android 库 (AAR) 中包含 proguard 配置

    Android 库 根据AAR 文件规范 http tools android com tech docs new build system aar format 包含一个 proguard txt 文件 我的理解是 该文件声明了如何正确地

随机推荐

  • “没有这样的模块‘Alamofire’”Xcode 无法识别 Alamofire 框架

    我意识到在其他问题中也提出了同样的错误 例如here https stackoverflow com questions 25817479 cannot install alamofire in new xcode project no s
  • CakePHP 仅在输入数据时进行表单验证

    我正在尝试上传其中一个模特的照片 并且当我进入编辑模式时 当用户只想编辑与该记录相关的文本时 它仍然要求我上传照片 以下是我的验证规则 display photo gt array uploadError gt array rule gt
  • 读取音频文件信息php

    如何从声音文件中读取比特率 长度等信息 不同的文件格式 mp3 wmw 等 我想那里有一些图书馆 课程 也许我可以尝试一下 有什么建议么 getID3 http getid3 org 是一个 PHP 脚本 可以从 MP3 和其他多媒体文件格
  • Android ProgressBar 的样式类似于 SwipeRefreshLayout 中的进度视图

    I use android support v4 widget SwipeRefreshLayout在我的 Android 应用程序中 它包裹着一个ListView 列表视图的内容是从服务器下载的 当用户向下滑动以从服务器重新加载数据时 会
  • Docker - 无法从容器内部 ping 主机子网上的任何内容

    我有一台 IP 地址为 192 168 11 10 的 Mac 主机 我有一个使用默认网络配置运行的 docker compose 项目 我需要从 docker 容器内连接到 IP 地址 192 168 11 11 上的设备 从容器内 我可
  • jUnit 在多种文化中测试 Double.toString

    我有一个开源库 其中有大量比较字符串形式的数字的单元测试 这些测试通过良好en GB en US以及其他文化中数字通常以以下形式书写1 234 00 然而 在德国和法国等文化中 这些值的格式不同 因此测试会失败 如何强制 jUnit 测试运
  • R - 查找包含所有字符串/模式的所有向量元素 - str_detect grep

    样本数据 files in path c a 4 0 name 2015 NY RDS b 4 0 name 2016 CA RDS c 4 0 name 2015 PA RDS strings to find c 4 0 PA 我想要一个
  • 多个表行作为backbone.js 视图?

    所以我有一个数据网格 网格中的每个项目都有一个关联的模型和视图 我需要将每个项目渲染为two表行以实现所需的 UI 不 这不是我的设计 第一次尝试 在视图中render 方法 只需渲染两行并将它们添加到this el 然后我将每个视图附加到
  • 将向量转换为向量(优雅的方式)

    我想知道是否有一种优雅的方式或内置函数来转换vector
  • 在绑定到 Winforms 数据源的 gridview 的 bool 列中显示是/否?

    我有一个绑定到数据源 Windows 窗体 VB NET 的 gridview 其中一列是布尔类型的属性 我想在该列中显示 是 否 而不是 0 1 或 真 假 这可能吗 您可以编辑绑定列的显示吗 我遇到了同样的问题 不幸的是我没有找到优雅的
  • 使用 Tensorflow 对象检测 api 打乱训练数据集

    我正在使用 Faster RCNN 模型和 Tensorflow 对象检测 API 来开发徽标检测算法 我的数据集按字母顺序排列 因此有一百个阿迪达斯徽标 然后是一百个苹果徽标等 我希望在训练时对其进行洗牌 我在配置文件中添加了一些值 tr
  • UIResponder 问题

    今晚我一直在与 UIResponder 作斗争 这是我的困境 如果我输入 BOOL canBecomeFirstResponder return YES 到我的 mainViewController 然后我可以获得摇动事件 void mot
  • 无法打开流:是一个目录

    我在尝试使用 php 将上传的文件从临时文件夹移动到所需的文件时收到以下警告 警告 move uploaded file test function move uploaded file 无法打开流 是第 69 行 home filenam
  • MySQL 8 中索引 JSON 列

    所以我正在尝试 json 列 Mysql 8 0 17 应该可以使用多值 JSON 索引 如下所示 CREATE INDEX data nbr idx ON a1 CAST data gt nbr AS UNSIGNED ARRAY 我有像
  • 如何使用 JavaScript 函数验证字段?

    我创建了一个表单 从文档中的示例 https getbootstrap com docs 4 0 components forms在 验证 自定义样式 部分 我在 cumpolsory 输入中添加了 必需 属性 并且验证进展顺利 现在我需要
  • 如何将自定义 Lambda 层包含到管道堆栈中? (AWS-CDK)

    我有两堆 应用栈 管道栈 将自定义 lambda 层包含到管道堆栈中以便将代码位置信息中继回我的应用程序堆栈的官方方法是什么 我已经按照文档使常规 lambdas 工作 在这里找到 https docs aws amazon com cdk
  • ASP.Net MVC Angular 2 最终版

    有人尝试过 Angular 2 RC Final 和 ASP Net MVC 吗 我在使用 ASP Net MVC 配置 Angular 2 RC 6 时遇到问题 直到 beta 17 一切正常 具有以下配置的 package json 似
  • “npm start”导致错误 - ENOENT:没有这样的文件或目录... package.json [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试使用 NPX 创建一个 React 应用程序 一切都很顺利 但是当我跑步时npm start 我收到以下错误 np
  • 如何为 3 组添加一些列值?

    我有 3 列 SAMPN PERNO 循环 以及对应于3种模式的实用程序 角豆和步行 我想添加具有相同 SAMPN PERNO 循环的行的实用程序 适用于 car car bus bus walk walk walk bus 和 Bus w
  • Sqlite 数据库未从 Android 资产文件夹复制

    我正在尝试将名为 adinpect 的数据库从资产文件夹复制到应用程序数据库文件夹 但它不起作用 代码 在主活动 onCreate 中 仅用于测试 try String destPath data data getPackageName d