android phonegap下载器插件2.2
我正在开发一个phonegap应用程序,它需要Android Downloader插件: 不幸的是,使用最新的cordova(2.2)似乎失败了。我花了几个小时试图升级代码: downloader.jsandroid phonegap下载器插件2.2,android,cordova,plugins,Android,Cordova,Plugins,我正在开发一个phonegap应用程序,它需要Android Downloader插件: 不幸的是,使用最新的cordova(2.2)似乎失败了。我花了几个小时试图升级代码: downloader.js cordova.define( "cordova/plugin/downloader", function(require, exports, module) { var exec = require("cordova/exec"); v
cordova.define(
"cordova/plugin/downloader",
function(require, exports, module)
{
var exec = require("cordova/exec");
var Downloader = function() {};
Downloader.prototype.downloadFile = function(fileUrl, params, successCallback, failureCallback)
{
// Make params hash optional.
if (!failureCallback) win = params;
return exec(
successCallback,
failureCallback,
'Downloader',
'downloadFile',
[fileUrl, params]);
};
var downloader = new Downloader();
module.exports = downloader;
}
);
Downloader.java
package org.apache.cordova.plugins.Downloader;
import org.apache.cordova.api.CordovaInterface;
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
[more imports...]
public class Downloader extends Plugin
{
etc.
config.xml
<plugins>
<plugin name="App" value="org.apache.cordova.App"/>
[...]
<plugin name="Downloader" value="org.apache.cordova.plugins.Downloader"/>
</plugins>
该应用程序在Eclipse中编译得很好,但在执行下载程序代码时,我得到:ALERT Class not found。日志说:
W/System.err(4035):java.lang.ClassNotFoundException:org.apache.cordova.plugins.Downloader
...
添加插件org.apache.cordova.plugins.Downloader时出错
你能帮我修复出了什么问题吗?我在js文件中做了一些更改,而不是你做的,一切正常
function Downloader() {}
Downloader.prototype.downloadFile = function(fileUrl, params, win, fail) {
//Make params hash optional.
if (!fail) win = params;
PhoneGap.exec(win, fail, "Downloader", "downloadFile", [fileUrl, params]);
};
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("downloader", new Downloader());
PluginManager.addService("Downloader", "com.phonegap.plugins.downloader.Downloader");
});
if(!window.plugins) {
window.plugins = {};
}
if (!window.plugins.downloader) {
window.plugins.downloader = new Downloader();
}
您是否尝试过下面的建议链接??为什么不使用cordova默认插件?正如您在这里看到的,cordova还有一个名为plugin.xml的xml,您可以将该文件检查到Eclipse吗?是的。我已经读过那个文档了。不再使用plugins.xml,现在配置在config.xml中声明。我会尝试默认的文件插件,但我想知道我的文件有什么问题,以了解如何实现其他插件。谢谢。最后我使用了集成的Cordova文件对象。我将在下一个项目中尝试您的代码。非常感谢。
function Downloader() {}
Downloader.prototype.downloadFile = function(fileUrl, params, win, fail) {
//Make params hash optional.
if (!fail) win = params;
PhoneGap.exec(win, fail, "Downloader", "downloadFile", [fileUrl, params]);
};
PhoneGap.addConstructor(function() {
PhoneGap.addPlugin("downloader", new Downloader());
PluginManager.addService("Downloader", "com.phonegap.plugins.downloader.Downloader");
});
if(!window.plugins) {
window.plugins = {};
}
if (!window.plugins.downloader) {
window.plugins.downloader = new Downloader();
}