使用 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 就会在编译时集成它们
我正在尝试在 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 就会在编译时集成它们