日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android与Javascript交互示例(二)

發(fā)布時(shí)間:2025/3/15 Android 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android与Javascript交互示例(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MainActivity如下:

package cn.testjavascript; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.widget.Button; import android.app.Activity; /*** Demo描述:* JavaScript與Android中的方法* 的相互調(diào)用* * 參考資料:* http://blog.csdn.net/wangtingshuai/article/details/8631835*/ public class MainActivity extends Activity {private WebView mWebView;private Button mButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init(){//以下為Javascript調(diào)用Java--------------------------mWebView=(WebView) findViewById(R.id.webView);initWebViewSettings();//加載本地Html文件mWebView.loadUrl("file:///android_asset/test.html");//注意://addJavascriptInterface方法中第二參數(shù)//它表示我們的java對象javaClass的別名.這樣js就可以通過該別名來調(diào)用Android中的方法//即js代碼中的://window.testjs.firstFunction//window.testjs.secondFunctionJavaClass javaClass=new JavaClass(MainActivity.this);mWebView.addJavascriptInterface(javaClass, "testjs");//以下為Java調(diào)用Javascript--------------------------//注意://在調(diào)用帶參數(shù)的Javascript方法時(shí)//參數(shù)的寫法,如此處的//mWebView.loadUrl("javascript:javacalljswithargs("+"'stringArg'"+")");//不加單引號是錯(cuò)誤的mButton=(Button) findViewById(R.id.button);mButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//調(diào)用Javascript中的無參方法 mWebView.loadUrl("javascript:javacalljs()");//調(diào)用Javascript中帶參數(shù)的方法 mWebView.loadUrl("javascript:javacalljswithargs("+"'stringArg'"+")");}});}private void initWebViewSettings(){mWebView.setVerticalScrollBarEnabled(false);mWebView.setHorizontalScrollBarEnabled(false);mWebView.getSettings().setJavaScriptEnabled(true);mWebView.getSettings().setSupportZoom(true);mWebView.getSettings().setDomStorageEnabled(true);mWebView.getSettings().setPluginsEnabled(true);mWebView.requestFocus();mWebView.getSettings().setUseWideViewPort(true);mWebView.getSettings().setLoadWithOverviewMode(true);mWebView.getSettings().setSupportZoom(true);mWebView.getSettings().setBuiltInZoomControls(true);}}


JavaClass如下:

package cn.testjavascript;import android.content.Context; import android.widget.Toast;public class JavaClass {private Context mContext;public JavaClass(Context context) {this.mContext=context;}public void firstFunction() {Toast.makeText(mContext, "Javascipt調(diào)用Java中的方法,未攜帶參數(shù)", Toast.LENGTH_SHORT).show();}public void secondFunction(String string) {Toast.makeText(mContext, "Javascipt調(diào)用Java中的方法,攜帶參數(shù)為:"+string, Toast.LENGTH_SHORT).show();} }

?

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><WebViewandroid:id="@+id/webView"android:layout_width="fill_parent"android:layout_height="370dip"android:layout_centerHorizontal="true"/><Button android:id="@+id/button"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="點(diǎn)擊后Java調(diào)用Javascript"android:layout_alignParentBottom="true"/></RelativeLayout>


test.html如下:

<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <script type="text/javascript"> function javacalljs(){document.getElementById("content").innerHTML += "<br\>java調(diào)用了javascript函數(shù),未帶參數(shù)"; }function javacalljswithargs(arg){document.getElementById("content").innerHTML += ("<br\>java調(diào)用了javascript函數(shù),參數(shù)為:"+arg); }</script> </head> <body> 測試Android與Javascript的交互<br/> <br> <a onClick="window.testjs.firstFunction()">點(diǎn)擊后Javascript調(diào)用java代碼</a><br/> <br> <a onClick="window.testjs.secondFunction('arg')" >點(diǎn)擊后Javascript調(diào)用java代碼并攜帶參數(shù)</a> <br/> <br> <div id="content">以下為java調(diào)用Javascript時(shí)的提示信息:</div> </body> </html>



?

?

轉(zhuǎn)載于:https://www.cnblogs.com/snake-hand/archive/2013/06/05/3119950.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的Android与Javascript交互示例(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。