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 资产文件夹复制 的相关文章

  • 如何列出我的应用程序以供下载文件?

    我想通过我的应用程序从浏览器下载文件 我正在尝试将我的应用程序列在complete action using对话 它显示其他操作 例如查看文件等 但在下载文件的情况下 它不会显示在对话框中 我怎样才能像图片中那样列出我的应用程序 我在我的活
  • 标准呼叫屏幕上的活动窗口 - 启用按钮

    我想在通话屏幕活动上添加一个小窗口 弹出窗口 谷歌语音 and 世界通话地点和时间 http areacellphone com 2010 04 android worldcallplaceandtime apps know place a
  • ActionBar 下拉微调器项目默认为第一项

    我试图设置默认情况下需要在微调器中选择的项目的索引 但它始终默认为 0 第一项 actionBar setDisplayShowTitleEnabled false actionBar setNavigationMode ActionBar
  • Android:每次单击导航抽屉项时创建一个新片段更好,还是加载以前创建的片段更好?

    我正在为 Android 实现标准导航抽屉模式 用户可以从抽屉中导航到大约 10 个片段 目前 每次单击不同的导航抽屉项目时 我都会创建一个新的片段 如下所示 When a new navigation item at index is c
  • com.android.ddmlib.AdbCommandRejectedException:设备离线(即使设备已连接)

    将 Android Studio 更新到 2 1 2 后 当我进行更改时 我多次收到以下错误 com android ddmlib AdbCommandRejectedException 设备离线 安装 APK 时出错 问题是设备从未连接且
  • Android 滚动视图无法以编程方式创建。

    我想在我的应用程序中使用滚动视图 我尝试将文本视图添加到滚动视图中 但除了滚动视图的背景颜色之外 我看不到任何渲染的内容 我是这样做的 public class MyView extends ViewGroup ScrollView myS
  • Camera2设置预览(View)并获取预览回调

    我想从 Camera2 获取预览以及用于处理帧的 byte 回调 mImageReader ImageReader newInstance largest getWidth largest getHeight ImageFormat RAW
  • 请求超级用户权限编辑文件

    我正在规划一个需要编辑系统文件的应用程序 我只能使用 root 权限编辑该文件 我有一个已 root 且安装了 Superuser apk 的开发手机 其他需要 root 的应用程序会在首次启动时请求 root 访问权限 我想做同样的事情
  • 使用 Gradle 进行 Travis-CI Android 测试总是超时

    我正在尝试在 Travis CI 上构建和测试我的项目 它每次都会在我的所有存储库上向我显示相同的重复输出 这是我的 travis ymlhttps github com carts uiet cartsbusboarding blob m
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • eclipse - 在android虚拟设备中卡住中文

    当我在 Eclipse 中运行 Android 模拟器时 当我尝试编写文本时 所有键盘字符都会被翻译为中文 为什么是这样 Thanks 点击并按住EditText Select 输入法 Select 安卓键盘
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • Facebook Android 意图

    我对这个意图有疑问 这个意图是发送文本类型的消息 一切正常 电子邮件 短信 推特以及手机上的任何内容 但唯一有问题的是facebook 它会尝试以链接而不是文本的形式发布 Intent s new Intent android conten
  • 如何使用云打印打印Android活动显示

    我正在尝试将 Google 云打印实现到应用程序中 遵循集成指南 https developers google com cloud print docs android 我试图通过打印 google com 来保持基本 单击我创建的打印按
  • 带动画的 ScrollTo(0,250) Android ScrollView

    当我滚动到 0 250 时 我想在滚动动作中包含一个动画 我做了这段代码 但它没有根据动画滚动 scrollMe 是滚动小部件 id ObjectAnimator anim ObjectAnimator ofInt scrollMe tra
  • 在 Android Studio 4.0(Canary) 中找不到预览窗口在哪里

    我正在浏览有关在 Android Studio 4 0 Canary 中运行的 Jetpack 的教程 请参阅下面的链接文章 https developer android com jetpack compose tutorial http
  • 停止前台运行的服务的正确方法是什么

    我正在尝试停止作为前台服务运行的服务 当前的问题是当我打电话时stopService 通知仍然保留 因此 在我的解决方案中 我添加了一个接收器 我正在将其注册到onCreate 在 的里面onReceive 我调用的方法stopforegr
  • 查找配对的 Android 蓝牙设备是否在范围内的正确方法?

    我想编写一个充当蓝牙客户端的应用程序 我想做的是找出最好的方法来确定我支持的特定设备是否在范围内 而不是一直尝试在其上执行 BluetoothDevice connect 并失败如果不在范围内 这里我们假设设备已经配对 恐怕在特定设备处于范
  • 从包中发布的错误通知无法展开 RemoteViews

    我有个问题 有时我的服务会被这个 logcat 强制关闭 03 26 20 44 44 849 E AndroidRuntime 12080 FATAL EXCEPTION main 03 26 20 44 44 849 E Android
  • 无法通过usb调试安装android应用程序

    我知道这是一个老问题 但我第一次尝试在 Redmi note 4 上安装我的应用程序 每当我尝试安装时 它都会显示一个对话框 安装失败 并显示消息无法建立会话 通过卸载现有版本的 apk 如果存在 然后重新安装 可能可以解决此问题 警告 卸

随机推荐

  • “没有这样的模块‘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