JavaScript與Android之間的互動
javascript直接呼叫Android中的方法,例子:webview直接載入html,html中的javascript呼叫android端的方法。此例子可以有助於android開發者開發圖表類的專案,圖表不需要原生程式碼,只需用指令碼實現。圖表的指令碼生成可以參考:http://www.ichartjs.cn
Android端:
RIAExample.class
package com.example; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.webkit.WebView; public class RIAExample extends Activity{ private WebView web; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); web = (WebView)this.findViewById(R.id.web); web.getSettings().setJavaScriptEnabled(true); web.getSettings().setBuiltInZoomControls(true); web.addJavascriptInterface(this,"phone"); //通過“phone”與javascript互動; web.loadUrl("file:///android_asset/form.html"); } public String getData(){ return "[{name : 'IE',value : 35.75,color:'#9d4a4a'},{name : 'Chrome',value : 29.84,color:'#5d7f97'},{name : 'Firefox',value : 24.88,color:'#97b3bc'},{name : 'Safari',value : 6.77,color:'#a5aaaa'},{name : 'Opera',value : 2.02,color:'#778088'},{name : 'Other',value : 0.73,color:'#6f83a5'}]"; } public JSONArray getJsonArray(){ try { JSONArray data = new JSONArray(); JSONObject temp = new JSONObject(); temp.put("name", "other"); temp.put("value", 0.73); temp.put("color", "#6f83a5"); data.put(temp); JSONObject temp1 = new JSONObject(); temp1.put("name", "IE"); temp1.put("value", 35.75); temp1.put("color", "#a5c2d5"); data.put(temp1); JSONObject temp2 = new JSONObject(); temp2.put("name", "Chrome"); temp2.put("value", 29.84); temp2.put("color", "#cbab4f"); data.put(temp2); JSONObject temp3 = new JSONObject(); temp3.put("name", "Firefox"); temp3.put("value", 24.88); temp3.put("color", "#76a871"); data.put(temp3); JSONObject temp4 = new JSONObject(); temp4.put("name", "Safari"); temp4.put("value", 6.77); temp4.put("color", "#9f7961"); data.put(temp4); JSONObject temp5 = new JSONObject(); temp5.put("name", "Opera"); temp5.put("value", 2.02); temp5.put("color", "#a55f8f"); data.put(temp5); System.out.println(data.toString()); return data; } catch (JSONException e) { // TODO: handle exception Log.e("TAG", "JSONException!!!"); return null; } } public String getParams(){ return "{render : 'canvasDiv',data: data,title : '2012',legend : {enable : true},animation:true,showpercent:true,decimalsnum:2,width : 640,height : 480,radius:140}"; } public String getType(){ return "new iChart.Pie2D(params)"; } public void debugout(String info){ Log.i("ss",info); System.out.println(info); } }
assets資料夾:
html原始碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>ichartjs例子</title> <script type="text/javascript" src="js/ichart-1.0.min.js"></script> <script type="text/javascript"> window.onload = function(){ window.phone.debugout("inside js onload"); $(function(){ window.phone.debugout("----------in iChart.Pie2D function-------"); var data_string = window.phone.getData(); eval("var data =" + data_string); var params_string = window.phone.getParams(); eval("var params =" + params_string); var type_string = window.phone.getType(); eval("var chart =" + type_string); chart.draw(); window.phone.debugout("----------in iChart.Pie2D function, after draw()-------"); }); }; </script> </head> <body> <div id='canvasDiv'></div> </body> </html>
效果圖:
轉自:https://blog.csdn.net/cai1213/article/details/7942791?utm_source=copy
相關推薦
JavaScript與Android之間的互動
javascript直接呼叫Android中的方法,例子:webview直接載入html,html中的javascript呼叫android端的方法。此例子可以有助於android開發者開發圖表類的專案,圖表不需要原生程式碼,只需用指令碼實現。圖表的指令碼生成可以參考:htt
javascript與native的互動
在寫這篇文章之情,參考了很多,js與native的互動的資料,下面先給出我參考的一些東西,然後在給我我的程式碼。 使用場景: 1.)新增許可權 <uses-p
React Native與Android的互動
在使用RN進行跨平臺開發的過程中,經常會設計到跨平臺呼叫相關的內容,而在於RN進行互動的時候,最核心的就是RN提供的Component和Module。 其中,Component是專門將Native的UI暴露出來供JS呼叫的,而Native Module則是將N
javascript 與後端互動常用函式梳理
1.splice() 方法用於插入、刪除或替換陣列的元素 city_list是個陣列 $(document).on('click','.del',function(){ // console.log($(this).index())
React Native與Android通訊互動
剛建立的React Native 微信公眾號,歡迎微信掃描關注訂閱號,每天定期會分享react native 技術文章,移動技術乾貨,精彩文章技術推送。同時可以掃描我的微信加入react-native技術交流微信群。歡迎各位大牛,React Native技術愛好者加入
Javascript與C++之間的通訊 —— WebBrowser
1、C++呼叫WebBrowser中的全域性函式,變數等 (1) 從C++的角度看WebBrowser中的物件 WebBrowser中的物件大致可以分成兩類:DOM物件和使用Javascript建立的物件。但是無論是那種物件,從C++的角度來看,都是一些實現了IDispat
Unity與Android的互動之專案結構
概述 為什麼會寫這樣的文章,原因是我們在使用Unity做開發的時候少不了跟其它平臺做互動,特別是當前流行的Android和iOS。但是由於Unity官方文件缺少這方便詳細的資料,以及每個人的開發水平也參差不齊,再加上涉及到多平臺的互動(不同平臺的開發者不甚瞭解
JS與Android原生互動
JS與Android原生互動 在專案的開發中我們會遇到android 原生與Html5的混合開發,我們可能會需要在android中呼叫js裡面的方法進行資料互動或其他的特殊處理,又或者在Html頁面呼
Unity與Android的互動,使用Android Studio匯出各Unity工程通用的Android外掛包
網上已經有很多關於Unity與Android之間的互動,教程基本都一樣,但是裡面有個都強調的重點是建立安卓工程時包名要和unity的bundle id要一致,這樣我就比較疑惑,如果一些
RN 與 Android 程式碼互動
如果在開發中要用到一個 RN 沒有提供的元件,或者想複用 Java 程式碼已經實現的元件而不是用 JavaScript 再造一個車輪子,或者想使用 Java 高效的處理圖片、訪問資料庫、多執行緒程式設計等,你可以使用 RN 做到 JavaScript 與 Jav
【安卓與物聯網】Arduino開發板與Android之間通訊
關於Arduino開發板 Arduino是一款開源電子原型平臺,硬體部分是可以用來做電路連線的Arduino電路板。可以通過編寫程式,最後燒寫入開發板,配合上一些感測器,以及富有創造力的設計可以創造出很多神奇的東西。 在大三的時候,對物聯網的感興
js 與 android 的互動(方法互呼叫) 和android向 js傳遞值, js向android傳引數 事件攔截看上一篇
mail_detail_v2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewpor
Android中WebView載入本地Html,與JavaScript與Android方法相互傳值
最近在做專案中,要使用HightChart來實現心電圖,於是,使用WebView載入本地html頁面,但是資料是通過藍芽裝置採集的資料,用Java程式碼獲取的資料,需要將資料傳到JavaScript中去,使用來繪製心電圖。以前都載入伺服器端返回的url地址,使用
Unity3D與Android專案互動中無法監聽back鍵返回的解決辦法
這兩天為解決unity3d與android專案整合中出現的無法監聽真機back實體鍵的問題找了很多資料,網上也有很多人遇到了這個問題,但是似乎都沒找到有效的解決方法。 實現的效果是從A_Activity跳轉到UnityPlayerNativeActi
從零開始實現Unity與Android的互動(一)
之前有SDK接入方面的需求,涉及到一些Unity與Android和iOS原生互動,雖然關於這方面的教程網上有不少,但第一次接觸還是遇到不少問題,這裡有很多坑與程式設計無關,很大一部分是配置不當造成的。在此記錄下來,做個備忘,也方便後來人學習。 第一步:環境搭建 下面是你需
Android中WebView載入本地Html,與JavaScript與Android方法相互傳值(續)
接著上篇Android中WebView載入本地Html,與JavaScript與Android方法相互傳值,今天來一篇續集,為什麼要來續集呢,感覺自己還有沒有交代完的部分,於是在這裡再次交代一下,在Android中我們需要將給複雜的資料傳到Html頁面,我們該怎
unity與Android的互動初接觸
嵌入sdk是比較常見的吧,如接入廣告啊,新浪的分享...... 這些都需要接入sdk的,現在我們從最基本的做吧,其實這些和什麼引擎都是沒多大關係的,不管是unity,還是cosos2d......
【Android】App與App之間的互動
今天剛好公司有一個Android無介面外掛化的列印App需求,隨便在這裡寫下一點心得 知識點分析: 無介面 可比本公司的其他App任意呼叫 隱藏App的啟動圖示 一. 外掛App: (一)修改ac
Android、JavaScript、WebView之間的互動學習
一、WebView呼叫Java //1.允許WebView載入jsmWebView.getSettings().setJavaScriptEnabled(true);//2.編寫js的介面 ------>這裡面有一個坑,注意 public class JavaStcript { @Javasc
Android實現Fragment與Activity之間的資料互動
1概念 1 為什麼 因為Fragment和Activity一樣是具有生命週期,不是一般的bean通過建構函式傳值,會造成異常。 2 參考連結 Activity和Fragment傳遞資料的兩種方式 【Fragment精深系列4】Frag