使用 sencha touch 时出现 AndroidProtocolHandler 错误

AndroidProtocolHandler Error when using sencha touch

我正在尝试在 Sencha Touch 上为 android 构建一个应用程序,所以我使用 Cordova 将它放在我的设备上。

我面临的问题是在我的电脑上一切正常,但在 android 上,设备无法找到和读取每个 的区域设置文件 商店(我已经在其他 Android 设备上进行了测试)。 这是 logcat 上的错误:

E/AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/app/store/recipes/list.json?_dc=1481398604306&node=ext-data-treestore-1-root&page=1&start=0&limit=25
E/AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/app/store/recipes/pates.json

这是我用来阅读的商店 "pates.json":

var ingredientsData = Ext.create('Ext.data.Store', {
    model: 'fr.ESIR.GreenVentory.model.IngredientListModel',
    autoLoad: true,
    proxy: {
        type: 'ajax',
        noCache: false,
        enablePagingParams: false,
        limitParam: null,
        url: "./app/store/recipes/pates.json",
        reader: {
            rootProperty: 'ingredients',
            totalProperty: 'totalCount'
        }
    }
});

我尝试加载的文件本地存储在 "app/store/recipes/"

如果有人有解决办法,我知道就好了

我解决了我自己的问题: 所有数据都存储在 sencha 应用程序的 app/store 上,当我使用 Cordova 构建 Android 应用程序时,它不会使用 json 文件,因为我没有指定文件位置。

所以我在项目根目录下创建了一个数据文件夹,将我的 json 文件和包含它们的文件夹放在数据文件夹中。

不要忘记更新 json 文件的不同引用

在那之后,它仍然可以在网络版本上运行,但不能在 Android 上运行,因为 cordova 不集成您的文件。 Cordova 读取项目根目录下的 app.json 文件。转到文件的 "resources" 部分。通常你有这样的东西:

/**
 * Extra resources to be copied along when build
 */
"resources": [
    "resources/images",
    "resources/icons",
    "resources/startup",
    "data/*",
    "data/recipes"
]

只需添加包含您的文件的文件夹的位置,cordova 就会在编译时集成它们