android和h5的交互(一)

其實(shí)之前也沒(méi)怎么接觸這塊敬辣,第一是自己開(kāi)發(fā)的時(shí)間并不長(zhǎng),第二是公司開(kāi)發(fā)的項(xiàng)目基本上都是原生的颜说」焊冢快過(guò)年了,覺(jué)得有必要對(duì)今年的一些東西做一些總結(jié)门粪,就以此作為一個(gè)開(kāi)篇吧。

一烹困、js方法中調(diào)用android的方法

首先玄妈,我們新建一個(gè)項(xiàng)目,然后在啟動(dòng)的activity里面(此處為MainActivity)就寫(xiě)一個(gè)按鈕,


布局文件就一個(gè)button就不貼了拟蜻,代碼也很簡(jiǎn)單绎签,就是讓他跳轉(zhuǎn)一個(gè)WebActiviy,如下圖:

其中H5_DIR為我存放靜態(tài)html的路徑(WebActivity中會(huì)用到酝锅,其實(shí)可以不要寫(xiě)在Activity里面诡必,當(dāng)時(shí)隨手寫(xiě)了,就不改了搔扁,請(qǐng)知悉),下圖為文件的目錄結(jié)構(gòu):


WebActivity的頁(yè)面很簡(jiǎn)單爸舒,就是一個(gè)返回按鈕,一個(gè)顯示按鈕稿蹲,還有一個(gè)WebView用來(lái)加載上圖所展示的first.html,如下圖:


加載webview的代碼如下圖扭勉,


如上上圖中展示的返回箭頭是html中所在,這時(shí)如果想要點(diǎn)擊此箭頭返回上一個(gè)activity那就要js調(diào)用android的本地方法苛聘,

首先涂炎,我們通常會(huì)封裝一個(gè)類,用來(lái)做交互设哗,話不多說(shuō)唱捣,直接貼代碼,


接下來(lái)网梢,WebActivity中直接調(diào)用爷光,

webView.addJavascriptInterface(new JavaScriptInterface(this),"Android");

當(dāng)然,你js中也要有相應(yīng)的方法澎粟,


注意的是此處你的Android其實(shí)就是webView.addJavascriptInterface(new JavaScriptInterface(this),"Android")這個(gè)方法中最后定義的這個(gè)Android蛀序,兩者保持一直即可,如此活烙,便完成了js調(diào)用android本地方法

二徐裸、android方法中調(diào)用js的方法

我了解的主要分兩種情況吧,一種是調(diào)用無(wú)返回參數(shù)的啸盏,比如我點(diǎn)擊我WebActivity中的返回按鈕可以調(diào)用js中的back()方法重贺,而其實(shí)我現(xiàn)在back()方法其實(shí)調(diào)用了android本地的finish()方法,所以也可以完成頁(yè)面的返回,調(diào)用方法如下:findViewById(R.id.btnBack).setOnClickListener(new View.OnClickListener() {

@Override

? ? public void onClick(View v) {

webView.loadUrl("javascript:back()");

}

});

還有一種是調(diào)用有返回參數(shù)的回懦,首先在我的first.html中添加一個(gè)簡(jiǎn)單的方法气笙,比如:function num(){

return 10;

}

然后我們?cè)赪ebActivity中的調(diào)用如下:

findViewById(R.id.btnShow).setOnClickListener(new View.OnClickListener() {

@RequiresApi(api = Build.VERSION_CODES.KITKAT)

@Override

? ? public void onClick(View v) {

webView.evaluateJavascript("num()",new ValueCallback() {

@Override

? ? ? ? ? ? public void onReceiveValue(String value) {

Toast.makeText(WebActivity.this, value, Toast.LENGTH_SHORT).show();

}

});

}

});

直接可以用土司彈出10,如此便完成了android對(duì)js方法的調(diào)用怯晕。

第一次寫(xiě)潜圃,寫(xiě)的有點(diǎn)亂,多多見(jiàn)諒舟茶!需要源碼或者有什么問(wèn)題的可以在下面留言谭期,大家互相交流堵第,我的開(kāi)發(fā)時(shí)間也很短,希望大家可以共同進(jìn)步!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隧出,一起剝皮案震驚了整個(gè)濱河市踏志,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胀瞪,老刑警劉巖针余,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凄诞,居然都是意外死亡圆雁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)幔摸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摸柄,“玉大人,你說(shuō)我怎么就攤上這事既忆∏海” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵患雇,是天一觀的道長(zhǎng)跃脊。 經(jīng)常有香客問(wèn)我,道長(zhǎng)苛吱,這世上最難降的妖魔是什么酪术? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮翠储,結(jié)果婚禮上绘雁,老公的妹妹穿的比我還像新娘。我一直安慰自己援所,他們只是感情好庐舟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著住拭,像睡著了一般挪略。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上滔岳,一...
    開(kāi)封第一講書(shū)人閱讀 51,190評(píng)論 1 299
  • 那天杠娱,我揣著相機(jī)與錄音,去河邊找鬼谱煤。 笑死摊求,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趴俘。 我是一名探鬼主播睹簇,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼奏赘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寥闪!你這毒婦竟也來(lái)了太惠?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤疲憋,失蹤者是張志新(化名)和其女友劉穎凿渊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體缚柳,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡埃脏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秋忙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彩掐。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖灰追,靈堂內(nèi)的尸體忽然破棺而出堵幽,到底是詐尸還是另有隱情,我是刑警寧澤弹澎,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布朴下,位于F島的核電站,受9級(jí)特大地震影響苦蒿,放射性物質(zhì)發(fā)生泄漏殴胧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一佩迟、第九天 我趴在偏房一處隱蔽的房頂上張望团滥。 院中可真熱鬧,春花似錦报强、人聲如沸灸姊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厨钻。三九已至,卻和暖如春坚嗜,著一層夾襖步出監(jiān)牢的瞬間夯膀,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工苍蔬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诱建,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓碟绑,卻偏偏與公主長(zhǎng)得像俺猿,于是被迫代替她去往敵國(guó)和親茎匠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程押袍,因...
    小菜c閱讀 6,401評(píng)論 0 17
  • 一诵冒、WebView 谷歌提供的系統(tǒng)組件,用來(lái)加載和展現(xiàn)html網(wǎng)頁(yè)谊惭,其采用webkit內(nèi)核驅(qū)動(dòng)汽馋,來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)瀏覽功能...
    閑庭閱讀 6,949評(píng)論 2 12
  • 提升自己,取悅自己圈盔,這樣以後才能掌握主動(dòng)權(quán)豹芯。 獨(dú)立的人格,享受平等的待遇驱敲,這樣才能談好一場(chǎng)戀愛(ài)铁蹈。讓對(duì)方產(chǎn)生依賴感,...
    貓grace閱讀 133評(píng)論 0 0
  • ES6規(guī)范清晰的定義了對(duì)象的類別 普通對(duì)象 具有JavaScript對(duì)象所有的默認(rèn)內(nèi)部行為 特異對(duì)象 具有某些與默...
    前端小兵閱讀 244評(píng)論 0 0