phonegap 2.8.1 toast

目录结构如下:

phonegap 2.8.1 toast

以上三个用红色框勾出的地方是需要修改的文件夹。

首先:添加java代码。

在src目录下新建一个包裹:org.apache.cordova

在该包裹下新建类:ToastPlugin.java

代码如下:

package org.apache.cordova;

import org.apache.cordova.api.CallbackContext;

import org.apache.cordova.api.CordovaInterface;

import org.apache.cordova.api.CordovaPlugin;

import org.json.JSONArray;

import org.json.JSONException;

import android.util.Log;

import android.widget.Toast;

public class ToastPlugin extends CordovaPlugin {

    public static String TOAST = "toast";

    public boolean execute(String action, JSONArray data,

            CallbackContext callbackContext) throws JSONException {

        if (TOAST.equals(action)) {

            Log.i(TOAST, "message:"+data.getString(0)+",length:"+data.getInt(1));

            toast(data.getString(0), data.getInt(1), callbackContext);

        }

        return false;

    }

    public synchronized void toast(final String message, final int length,

            CallbackContext callbackContext) {

        final CordovaInterface cordova = this.cordova;

        Runnable runnable = new Runnable() {

            public void run() {

                Toast.makeText(cordova.getActivity(), message,length).show();

            }

        };

         this.cordova.getActivity().runOnUiThread(runnable);

    }

}
View Code

然后在assets-www-js文件中新建phonegap-toast.js
代码如下:

var toast = function(){};

toast.prototype = {

        ShowToast:function(content,length){

            return cordova.exec(null, null,"ToastPlugin","toast",[content,length]);

        }

};

cordova.addConstructor(function(){

    if (!window.plugins) {

        window.plugins = {};

    }

    window.plugins.ToastPlugin = new toast();

 

});
View Code

最后在res-xml文件中修改config.xml文件

在widget节点中添加如下节点:

<plugin name="ToastPlugin" value="org.apache.cordova.ToastPlugin"/>
View Code

 

使用:

在你要使用toast的html文件中引入js文件:

<script type="text/javascript" src="js/phonegap-toast.js"></script>

调用方法:

window.plugins.ToastPlugin.ShowToast('通讯录',3000);//第一个参数为显示的内容,第二个参数是显示的时间,单位ms

参考资料:http://blog.sina.com.cn/s/blog_c2918c770101bf1u.html

你可能感兴趣的:(PhoneGap)