欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

關(guān)于h5調(diào)用本地java代碼的信息

HTML5如何和JAVA后臺數(shù)據(jù)交互?

這是一門課程了,java web或者叫jsp。jsp就是由html和java腳本,等語言構(gòu)成的。java程序嵌套在html里,相當于php。以網(wǎng)頁的形式將java展現(xiàn)。這也就是所謂的動態(tài)。以為java程序獲取的時間會變動。或者數(shù)據(jù)庫變動從而引起網(wǎng)頁的變動。

堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都公路鉆孔機小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內(nèi)容策劃、視覺設計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。

延展閱讀:

HTML5有以下優(yōu)點:

提高可用性和改進用戶的友好體驗;

有幾個新的標簽,這將有助于開發(fā)人員定義重要的內(nèi)容;

可以給站點帶來更多的多媒體元素(視頻和音頻);

可以很好的替代FLASH和Silverlight;

當涉及到網(wǎng)站的抓取和索引的時候,對于SEO很友好;

將被大量應用于移動應用程序和游戲。

android嵌入h5,怎么交互

Android和H5之間的交互

hybrid App開發(fā)也不是什么新鮮事了,其中native和h5之間的交互則是必不可少的。Android中是如何和H5交互的?

1、webView加載頁面

我們都知道在Android中是通過webView來加載html頁面的,根據(jù)HTML文件所在的位置不同寫法也不同:

//例如:加載assets文件夾下的test.html頁面

mWebView.loadUrl("")

//例如:加載網(wǎng)頁

mWebView.loadUrl("")

如果只是這樣調(diào)用mWebView.loadUrl()加載的話,那么當你點擊頁面中的鏈接時,頁面將會在你手機默認的瀏覽器上打開。那如果想要頁面在App內(nèi)中打開的話,那么就得設置setWebViewClient:

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

mWebView.loadUrl(url);

return true;

}

}

});

2、Android本地通過Java調(diào)用HTML頁面中的JavaScript方法

想要調(diào)用js方法那么就必須讓webView支持

WebSettings webSettings = mWebView.getSettings();

//設置為可調(diào)用js方法

webSettings.setJavaScriptEnabled(true);

若調(diào)用的js方法沒有返回值,則直接可以調(diào)用mWebView.loadUrl("JavaScript:do()");其中do是js中的方法;若有返回值時我們可以調(diào)用mWebView.evaluateJavascript()方法:

mWebView.evaluateJavascript("sum(1,2)", new ValueCallbackString() {

@Override

public void onReceiveValue(String value) {

Log.e(TAG, "onReceiveValue value=" + value);

}

});

js代碼如下:

script type="text/javascript"

function sum(a,b){

return a+b;

}

function do(){

document.getElementById("p").innerHTML="hello world";

}

/script

2、js調(diào)用Android本地Java方法

在Android4.2以上可以直接使用@JavascriptInterface注解來聲明,下面是在一個本地Java方法

public class JsInteration {

@JavascriptInterface

public String back() {

return "hello world";

}

}

定義完這個方法后再調(diào)用mWebView.addJavascriptInterface()方法:

mWebView.addJavascriptInterface(new JsInteration(), "android");

那么在js中怎么來調(diào)用呢?

script type="text/javascript"

function s(){

//調(diào)用Java的back()方法

var result =window.android.back();

document.getElementById("p").innerHTML=result;

}

/script

4、攔截HTML頁面中的點擊事件

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

//判斷url攔截事件

if (url.equals("")) {

Log.e(TAG, "shouldOverrideUrlLoading: " + url);

startActivity(new Intent(MainActivity.this,Main2Activity.class));

return true;

} else {

mWebView.loadUrl(url);

return false;

}

}

});

以上就是Java調(diào)用js方法以及js調(diào)用Java方法的實現(xiàn)交互方式中的一種。下面給出完整代碼:

mainActivity

public class MainActivity extends AppCompatActivity {

public static final String TAG = "MainActivity";

private WebView mWebView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mWebView = (WebView) findViewById(R.id.webView);

mWebView.loadUrl("");

WebSettings webSettings = mWebView.getSettings();

webSettings.setJavaScriptEnabled(true);

mWebView.addJavascriptInterface(new JsInteration(), "android");

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

if (url.equals("")) {

Log.e(TAG, "shouldOverrideUrlLoading: " + url);

startActivity(new Intent(MainActivity.this,Main2Activity.class));

return true;

} else {

mWebView.loadUrl(url);

return false;

}

}

});

}

//Android調(diào)用有返回值js方法

@TargetApi(Build.VERSION_CODES.KITKAT)

public void onClick(View v) {

mWebView.evaluateJavascript("sum(1,2)", new ValueCallbackString() {

@Override

public void onReceiveValue(String value) {

Log.e(TAG, "onReceiveValue value=" + value);

}

});

}

public class JsInteration {

@JavascriptInterface

public String back() {

return "hello world";

}

}

}

test.html

!DOCTYPE html

html

head

title/title

script type="text/javascript"

function sum(a,b){

return a+b;

}

function s(){

var result =window.android.back();

document.getElementById("p").innerHTML=result;

}

/script

/head

body

button onclick="s()"調(diào)用本地方法/button

a href=""點擊/a

p id="p"/p

/body

/html

hbuilder 中 h5app如何調(diào)用自己寫的java代碼

編輯菜單中的整理代碼格式

快捷鍵ctrl+shift+F

一般情況最好是自己邊編寫邊排版

當前題目:關(guān)于h5調(diào)用本地java代碼的信息
標題URL:http://chinadenli.net/article6/hedcig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航網(wǎng)站制作標簽優(yōu)化網(wǎng)站設計微信公眾號用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名