Android与Javascript交互示例(二)
生活随笔
收集整理的這篇文章主要介紹了
Android与Javascript交互示例(二)
小編覺(jué)得挺不錯(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對(duì)象javaClass的別名.這樣js就可以通過(guò)該別名來(lái)調(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'"+")");//不加單引號(hào)是錯(cuò)誤的mButton=(Button) findViewById(R.id.button);mButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//調(diào)用Javascript中的無(wú)參方法 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如下:
?
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如下:
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/snake-hand/archive/2013/06/05/3119950.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Android与Javascript交互示例(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (逆向)angr 执行二进制函数
- 下一篇: 数据链路层的是三个基本问题