整体来说,android开发编写java代码比较变态。
在使用phonegap开发插件是则会让你看到更变态的用法。
直接贴代码吧,为走弯路的朋友借鉴。
代码参考phonegap源码Notification.java类
package com.p3p.android.plugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.ProgressDialog;
import com.phonegap.api.PhonegapActivity;
import com.phonegap.api.Plugin;
import com.phonegap.api.PluginResult;
public class HelloWord extends Plugin {
public ProgressDialog progressDialog = null;
@SuppressWarnings("static-access")
@Override
public PluginResult execute(String arg0, JSONArray arg1, String arg2) {
// TODO Auto-generated method stub
PluginResult.Status status = PluginResult.Status.OK;
String result = "";
try {
if (this.progressDialog != null) {
this.progressDialog.dismiss();
this.progressDialog = null;
}
final HelloWord __this = this;
final PhonegapActivity ctx = this.ctx;
Runnable runnable = new Runnable() {
public void run() {
__this.progressDialog = new ProgressDialog(ctx);
__this.progressDialog
.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
__this.progressDialog.setTitle("提示信息");
__this.progressDialog.setMessage("文件正在下载中,请稍微...");
__this.progressDialog.setCancelable(false);
//__this.progressDialog.setCancelable(true);
__this.progressDialog.setMax(100);
__this.progressDialog.setProgress(0);
/*
* __this.progressDialog .setOnCancelListener(new
* DialogInterface.OnCancelListener() { public void
* onCancel(DialogInterface dialog) { __this.progressDialog
* = null; } });
*/
__this.progressDialog.show();
}
};
this.ctx.runOnUiThread(runnable);
Thread.currentThread().sleep(2000l);
this.progressDialog.setProgress(80);
Thread.currentThread().sleep(3000l);
this.progressDialog.setProgress(95);
Thread.currentThread().sleep(1000l);
this.progressDialog.setProgress(100);
Thread.currentThread().sleep(1000l);
this.progressDialog.dismiss();
result = "result from my plugin:" + arg1.getString(0);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new PluginResult(status, result);
}
}
分享到:
相关推荐
在移动应用开发领域,PhoneGap和Android是两种广泛使用的平台。PhoneGap是一种基于HTML5、CSS3和JavaScript的跨平台框架,它允许开发者使用Web技术创建原生移动应用。而Android则是Google主导的开源操作系统,提供了...
总之,搭建Android+PhoneGap开发环境涉及安装JDK、Android Studio、Node.js和PhoneGap CLI,配置Android SDK,以及创建和运行第一个PhoneGap项目。掌握这个过程后,开发者就可以利用Web技术开发出能在Android平台上...
这个"phonegap开发插件合集"是一个包含了多种PhoneGap插件的资源包,覆盖了Android和iOS等多个平台,为开发者提供更丰富的功能扩展。 首先,我们来看看"短信收发插件"。在移动应用中,发送和接收短信是一项常见的...
PhoneGap的核心理念是通过Web技术实现与移动设备硬件的交互,让开发者能够利用熟悉的Web开发技能开发出能在iOS、Android、Windows Phone等多平台运行的应用。 在"android之PhoneGap入门实例"中,我们首先需要了解...
本插件专注于PhoneGap在Android平台上的在线更新功能,旨在解决一个特定的问题:即在Android 7.0及以上版本中,通过下载安装APK更新时可能出现的应用闪退现象。 在Android系统中,特别是从7.0版开始,谷歌引入了更...
6. 测试与调试:使用PhoneGap CLI或者集成开发环境(如Android Studio)编译并运行项目,通过模拟器或真实设备进行测试。可以利用Logcat查看日志,以便调试Android端的代码;对于JavaScript,可以使用浏览器的开发者...
在这个"phonegap插件包Android版本"中,我们主要关注的是如何在Android平台上利用PhoneGap开发应用,并集成特定的插件。 1. **PhoneGap框架介绍**:PhoneGap基于Apache Cordova,提供了一个统一的API接口,使得...
本篇将详细介绍如何在Android的PhoneGap项目中集成WebSocket插件。 首先,我们需要理解WebSocket的基本概念。WebSocket协议是HTTP的升级版,它在建立连接后保持持久化连接,使得数据可以在服务器和客户端之间双向...
这个项目标题揭示了一个使用三种技术栈构建的移动应用程序:Android、PhoneGap和jQuery Mobile。Android是Google主导的开源操作系统,主要用于智能手机和平板电脑;PhoneGap是一个开放源代码框架,允许开发者使用...
■ 用PhoneGap和它的NFC插件写Android上的NFC应用程序用例 ■ 深入了解NDEF结构:测试已有的写标签程序,然后写自己的标签程序 ■ 用PhoneGap事件监听器来监听和过滤NDEF消息 ■ 写一个完整的Android应用程序来控制...
Android的Toast插件是PhoneGap生态中的一个重要组件,用于在Android设备上显示短暂的通知信息,类似于原生Android开发中的Toast功能。 首先,`ToastPlugin.java`是这个插件的核心Java代码,它负责与PhoneGap的...
在"自定义plugin插件实现phonegap与Android交互"这个主题中,我们主要关注的是如何通过编写自定义插件来打通JavaScript和Android之间的通信壁垒。在PhoneGap中,Plugin是连接Web层和Native层的桥梁,它们是用Java...
在实际开发中,开发者可以根据项目需求选择合适的插件,并通过PhoneGap Build或Cordova CLI将其添加到项目中。安装插件时,需要遵循插件文档中的说明,确保依赖库和配置正确无误。同时,了解每个插件的API使用方法和...
在"Phonegap在安卓平台上的插件开发"这个主题中,我们关注的是如何在PhoneGap应用中创建自定义的插件,以便将前端HTML与Android的原生代码连接起来。具体来说,这个例子涉及到将一个字符串从前端传输到Android的原生...
在本教程中,我们将深入探讨如何使用 PhoneGap 插件启动另一个 Android Activity。 首先,确保你已经准备好了 PhoneGap 的最新框架包,包括 `phonegap-x.x.x.jar`(添加到项目的 `libs` 目录)、`phonegap-x.x.x.js...
PhoneGap的吸引力在于它提供了一个统一的开发环境,使得开发者可以使用他们熟悉的Web技术来开发适用于iOS、Android、Windows Phone等多个平台的应用。 在"PhoneGap常用插件"这个主题中,我们将探讨PhoneGap生态系统...
- 使用Chrome开发者工具的Remote Debugging功能,可以在浏览器中实时查看和调试运行在Android设备上的PhoneGap应用。 - 使用PhoneGap Build服务,可以远程编译和分发应用到不同平台,而无需在每个平台上单独构建。...
在本文中,我们将探讨Android PhoneGap开发的关键知识点,以及在实际应用中可能遇到的问题和解决策略。PhoneGap是一个开放源代码框架,它允许开发者使用HTML、CSS和JavaScript来构建跨平台的移动应用程序,包括...
在Android平台上使用PhoneGap,首先需要安装一系列的开发工具。包括Eclipse IDE,Java Development Kit (JDK),以及Android Software Development Kit (SDK)。Eclipse是Android应用开发的主要IDE,而JDK是运行...
在Android和PhoneGap中访问相机功能,可以使用PhoneGap的Camera API。这个API允许应用启动设备的摄像头,拍摄照片或者选择已有的图片。使用方法如下: 1. 调用`navigator.camera.getPicture()`函数,传入回调函数来...