无法从资产文件夹(Android Studio)加载数据库

问题描述:

快速背景 - 我没有真正的编程知识,所以认为完整的初学者!无法从资产文件夹(Android Studio)加载数据库

我使用下面的指南从资产文件夹中加载数据库,它工作正常 http://www.javahelps.com/2015/04/import-and-use-external-database-in.html

我现在要那么它加载我已经使用DB浏览器的SQLite造就了不同的SQLite数据库稍微调整这一点,但它抛出以下错误: 丢失的数据库/文件Exercisesthree.db(或.zip,。广州归档文件)或目标文件夹不可写

我已经将新数据库(Excercisesthree.db.zip)放置在与数据库相同的资源文件夹中(我也在那里也保留了解压缩文件(Excercisesthree。 db) 我改变了DatabaseOpenHelper类来打开Excercisesthree.db而不是其他数据库(下面的代码),但由于某种原因它不起作用,我怀疑它与数据库的格式有关,因为我几乎没有改变代码

package com.example.mat.externaldatabasedemo; 

/** 
* Created by Mat on 24-Jan-17. 
*/ 
// http://www.javahelps.com/2015/04/import-and-use-external-database-in.html 

import android.content.Context; 
import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; 

public class DatabaseOpenHelper extends SQLiteAssetHelper { 

    private static final String DATABASE_NAME = "Exercisesthree.db"; 
    private static final int DATABASE_VERSION = 1; 

    public DatabaseOpenHelper(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 
} 

这里的数据库文件的链接: https://1drv.ms/u/s!AupGvbDoJdp9i26l9oO5CcCGf2I0

这是数据库文件的位置: C:\用户\垫\ AndroidStudioProjects \ ExternalDatabaseDemo \程序\ SRC \主\资产\数据库

+0

我怀疑这是一个Db的格式化问题,否则读取文件时会看到错误。你确定数据库文件在“数据库”文件夹内吗?并检查文件名和扩展名是否正确。 –

+0

感谢您的回应。我已经检查了路径,名称,扩展等约100次,不能看到任何错误。我将加载一个指向资产文件夹 – Matmajot

+0

的图片链接感谢您的回复。我检查了路径,拼写错误,扩展等无数次,无法找到任何错误。这里是一个链接到一个图片显示资产文件夹的位置及其内容:https://1drv.ms/i/s!AupGvbDoJdp9i2_0DJQt0fxza-5E – Matmajot

好吧我已经排序并确认它与数据库格式无关。最后,我创建了一个新项目并遵循原始指南,但将其更改为新的数据库。 我认为发生了什么事情是我一直在改变代码的某些部分,并停止工作。但是,在测试它时,它似乎正在工作,因为原始数据库已经加载到模拟器上,因此它掩盖了数据库不再从资产文件夹加载的事实。

我会像已经找到了什么代码的一部分是缺少和停止它的工作了解多一点,并报告,但不认为我将有时间