当前位置: 代码迷 >> Android >> android开发 phonegap插件开发中ProgressDialog的运用
  详细解决方案

android开发 phonegap插件开发中ProgressDialog的运用

热度:94   发布时间:2016-05-01 16:20:41.0
android开发 phonegap插件开发中ProgressDialog的使用

整体来说,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); }}

?

1 楼 0759cxz 2012-05-15  
请问怎么调用呢?
  相关解决方案