Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产精品久久久久久久久岛,久久免费国产视频,久久99国产精品久久99果冻传媒

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          神一樣的操作,真的牛逼了!Android Jetpack Compose 最全上手指南

          篇文章我看過(guò)覺(jué)得特別有感悟,現(xiàn)在推薦給大家,我在這篇文章中學(xué)習(xí)到很多,希望看完大家也能有所提升。

          作者:依然范特稀西

          鏈接:https://www.jianshu.com/p/17bb1c36eacb

          在今年的Google/IO大會(huì)上,亮相了一個(gè)全新的 Android 原生 UI 開(kāi)發(fā)框架-Jetpack Compose, 與蘋(píng)果的SwiftIUI一樣,Jetpack Compose是一個(gè)聲明式的UI框架,隨著了今年安卓和蘋(píng)果兩大移動(dòng)平臺(tái)相繼推出自己的UI開(kāi)發(fā)框架Jetpack Compose 和SwiftIUI,標(biāo)志著移動(dòng)操作系統(tǒng)正式全面擁抱聲明式 UI 開(kāi)發(fā)模式。

          一、聲明式 UI 的前世今生

          其實(shí)聲明式 UI 并不是什么新技術(shù),早在 2006 年,微軟就已經(jīng)發(fā)布了其新一代界面開(kāi)發(fā)框架 WPF,其采用了 XAML 標(biāo)記語(yǔ)言,支持雙向數(shù)據(jù)綁定、可復(fù)用模板等特性。

          2010 年,由諾基亞領(lǐng)導(dǎo)的 Qt 團(tuán)隊(duì)也正式發(fā)布了其下一代界面解決方案 Qt Quick,同樣也是聲明式,甚至 Qt Quick 起初的名字就是 Qt Declarative。QML 語(yǔ)言同樣支持?jǐn)?shù)據(jù)綁定、模塊化等特性,此外還支持內(nèi)置 JavaScript,開(kāi)發(fā)者只用 QML 就可以開(kāi)發(fā)出簡(jiǎn)單的帶交互的原型應(yīng)用。

          聲明式 UI 框架近年來(lái)飛速發(fā)展,并且被 Web 開(kāi)發(fā)帶向高潮。React 更是為聲明式 UI 奠定了堅(jiān)實(shí)基礎(chǔ)并一直引領(lǐng)其未來(lái)的發(fā)展。隨后 Flutter 的發(fā)布也將聲明式 UI 的思想成功帶到移動(dòng)端開(kāi)發(fā)領(lǐng)域...

          聲明式UI的意思就是,描述你想要一個(gè)什么樣的UI界面,狀態(tài)變化時(shí),界面按照先前描述的重新“渲染”即可得到狀態(tài)絕對(duì)正確的界面,而不用像命令一樣,告訴程序一步一步該干什么,維護(hù)各種狀態(tài)。扯遠(yuǎn)了,這個(gè)并不是今天文章的重點(diǎn),稍微了解一下就好,其他的就不在本文延伸。關(guān)于聲明式的更多介紹,建議看看這篇文章:https://zhuanlan.zhihu.com/p/68275232

          我們回到本文的重點(diǎn)Jetpack Compose。

          二、Jetpack Compose 介紹

          Jetpack Compose 是一個(gè)用于構(gòu)建原生Android UI 的現(xiàn)代化工具包,它基于聲明式的編程模型,因此你可以簡(jiǎn)單地描述UI的外觀,而Compose則負(fù)責(zé)其余的工作-當(dāng)狀態(tài)發(fā)生改變時(shí),你的UI將自動(dòng)更新。由于Compose基于Kotlin構(gòu)建,因此可以與Java編程語(yǔ)言完全互操作,并且可以直接訪問(wèn)所有Android和Jetpack API。它與現(xiàn)有的UI工具包也是完全兼容的,因此你可以混合原來(lái)的View和現(xiàn)在新的View,并且從一開(kāi)始就使用Material和動(dòng)畫(huà)進(jìn)行設(shè)計(jì)。

          需要這方面資料的可以私信(進(jìn)階),我分享給你

          三、Jetpack Compose 環(huán)境準(zhǔn)備和Hello World

          每當(dāng)我們學(xué)習(xí)一門(mén)新的語(yǔ)言,我們都是從一個(gè)hello world開(kāi)始,今天我們也從一個(gè)hello world來(lái)開(kāi)始Jetpack Compose 吧! 要想獲得Jetpack Compose 的最佳體驗(yàn),我們需要下載最新版本的Android Studio 預(yù)覽版本(即Android Studio 4.0)。因?yàn)锳ndroid Studio 4.0 添加了對(duì)Jetpack Compose 的支持,如新的Compose 模版和Compose 及時(shí)預(yù)覽。

          使用Jetpack Compose 來(lái)開(kāi)始你的開(kāi)發(fā)工作有2種方式:

          • 將Jetpack Compose 添加到現(xiàn)有項(xiàng)目
          • 創(chuàng)建一個(gè)支持Jetpack Compose的新應(yīng)用

          接下來(lái)分別介紹一下這兩種方式。

          1. 將Jetpack Compose 添加到現(xiàn)有項(xiàng)目

          如果你想在現(xiàn)有的項(xiàng)目中使用Jetpack Compose,你需要配置一些必須的設(shè)置和依賴:

          (1)gradle 配置

          超輕量看圖神器:快圖回頂部

          這年頭IT業(yè)界流行著一股風(fēng)氣,那就是似乎什么東西都喜歡做得特別大。尤其是手機(jī)這塊,無(wú)論是軟硬件皆是如此。手機(jī)的尺寸早已經(jīng)大到平板級(jí)別,而手機(jī)App的大小也隨著時(shí)代水漲船高,想要聊個(gè)天付個(gè)款,都得被廠商塞個(gè)二十幾三十多M進(jìn)手機(jī)。手機(jī)App體積膨脹已是常態(tài),但并不是所有人都喜歡享受閃存被撐爆系統(tǒng)被卡爆的雙重快感的,那么這年頭還有沒(méi)有保持苗條身材的App呢?體積小不等于功能弱,體積大也可以是廢材,今天,就讓小編來(lái)為大家推薦一些體積不到1M的超袖珍的實(shí)用App吧!

          超輕量看圖神器:快圖

          軟件名稱(chēng):快圖瀏覽
          軟件版本:4.2
          軟件大小:1.01MB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/79062.html

          如果什么東西敢冠上一個(gè)正面意義上的“最”字,拉滿仇恨被人狂噴是分分鐘的事情;但如果小編說(shuō),快圖是安卓平臺(tái)上最好的看圖App,相信沒(méi)有什么人會(huì)反對(duì)。快圖自誕生以來(lái)就是安卓不可或缺的裝機(jī)App之一,受困于安卓腦殘的圖片管理機(jī)制,用戶不得不尋找第三方的圖庫(kù)應(yīng)用,快圖則一直都是最好的選擇。

          快圖界面,使用了安卓5.0的Material Design

          快圖的歷史并不短,但即使歷經(jīng)數(shù)年成長(zhǎng),體積也沒(méi)漲到哪里去,至今仍僅有900多K(精簡(jiǎn)掉網(wǎng)盤(pán)功能的話更是僅有400多K!)。輕巧的體積帶來(lái)了靈動(dòng)的體驗(yàn),無(wú)論是響應(yīng)速度還是流暢度,快圖一直代表著看圖App的最高級(jí)別水準(zhǔn)。

          支持主題更換,還有WiFi快傳這樣的非常實(shí)用的功能

          同時(shí),快圖的功能還能令各家廠商汗顏,900多K的體積能做到以最新的安卓設(shè)計(jì)標(biāo)準(zhǔn),實(shí)現(xiàn)完善的圖庫(kù)管理、高分辨率多格式圖像支持乃至圖片編輯,各家廠商ROM中內(nèi)置的圖片App卻只能紛紛表示臣妾做不到啊。近幾個(gè)版本快圖更是加入了云功能,可以通過(guò)各家廠商的云服務(wù)存儲(chǔ)圖片,功能仍沒(méi)有落后于時(shí)代。

          這次hi國(guó)內(nèi)外主流云服務(wù)同步數(shù)據(jù),功能簡(jiǎn)直無(wú)懈可擊,1M的App如此神通廣大你怕不怕?

          可以說(shuō),快圖是最具水平的超袖珍App之一。不少超袖珍的App做到了某方面的極致功能,或者功能非常極客向,固然會(huì)令部分用戶叫好;但快圖這種以微型體積做到了全方位的大眾向功能的App,實(shí)在鳳毛麟角。毫無(wú)疑問(wèn),快圖仍是這個(gè)星球上最好的安卓看圖App。

          PS:剛寫(xiě)完這段文字快圖就更新了一個(gè)版本,體積變成了1.01M……小編表示這一定是假的、騙人的、加了特效!Orz不管了,超1M就超1M了吧,雖然和標(biāo)題不符但似乎也不是什么很重要的事情,也沒(méi)超多少是吧!

          2超微型看圖利器:快捷圖庫(kù)回頂部

          超微型看圖利器:快捷圖庫(kù)

          軟件名稱(chēng):快捷圖庫(kù)(Quick Gallery)
          軟件版本:2.1.0
          軟件大小:877KB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/359784.html

          這又是一個(gè)小得難以置信的看圖App,體積僅有0.86M,也許圖片瀏覽的功能真的對(duì)體積要求不大?快捷圖庫(kù)App的設(shè)計(jì)非常先進(jìn),已經(jīng)全面用上了安卓5.0的Material Design設(shè)計(jì)語(yǔ)言,值得一提的是快捷圖庫(kù)的圖標(biāo)很像巴西國(guó)旗,也許博得球迷朋友一份額外的好感。

          擁有Time line界面,查看不同時(shí)段的照片很方便

          體積小歸小,快捷圖庫(kù)并沒(méi)有省掉基本功能。無(wú)論是圖庫(kù)管理還是圖片瀏覽,都不在話下。而和快圖相比,快捷圖庫(kù)多了一個(gè)“時(shí)間線(Time line)”的界面,可以在一個(gè)界面中像欣賞隨時(shí)間排列的照片瀑布流。結(jié)合快捷圖庫(kù)輕巧體積帶來(lái)的速度,“時(shí)間線”的體驗(yàn)非常淋漓暢快。

          功能其實(shí)比較弱,但界面還是比較好看的

          不過(guò),快捷圖庫(kù)缺乏對(duì)云服務(wù)的支持,也不能自定義圖片掃描路徑,繼承了安卓原生圖庫(kù)的腦殘?jiān)O(shè)計(jì),會(huì)把所有圖片都給你掃出來(lái),使用上并不符合國(guó)人習(xí)慣。

          快捷圖庫(kù)會(huì)一下子把所有圖片掃出來(lái),和安卓原生圖庫(kù)一樣腦殘

          總的來(lái)說(shuō),快捷圖庫(kù)雖然出色,但和快圖相比還是存在差距的。這款快捷圖庫(kù)App,也許會(huì)比較受外國(guó)用戶的歡迎吧。

          3超苗條天氣播報(bào):彩虹天氣回頂部

          超苗條天氣播報(bào):彩虹天氣

          軟件名稱(chēng):彩虹天氣
          軟件版本:4.3.08
          軟件大小:467KB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/75657.html

          現(xiàn)在很難找得到干干凈凈老老實(shí)實(shí)的天氣App了,想看個(gè)天氣點(diǎn)開(kāi)界面,什么皮膚大禮包屠龍寶刀點(diǎn)擊就送撲面而至,實(shí)在感人。那么天氣App去掉各種累贅,到底可以極限減肥到什么地步?彩虹天氣給出了一個(gè)驚人的答案——不到0.5M。

          彩虹天氣遵循Android Design,界面簡(jiǎn)潔,信息也足夠豐富

          彩虹天氣是一款麻雀雖小五臟俱全的天氣App,體積僅有0.46M,卻實(shí)現(xiàn)了非常實(shí)用的天氣實(shí)況和天氣預(yù)報(bào)功能,還附帶了桌面小部件,并支持通知欄天氣查看。彩虹天氣可以顯示氣溫、濕度、風(fēng)速等天氣信息,如果你只是想要普通看看天氣,完完全全夠用了。

          0.46M的小軟件,帶有各色小部件,的確相當(dāng)不錯(cuò)

          除了天氣方面的基本功外,彩虹天氣還可以對(duì)界面進(jìn)行一些定制。喜歡打扮的話,你可以為彩虹天氣更換皮膚——這一切功能的前提是不到0.5M的超小體積,不得不說(shuō)實(shí)在令人吃驚。

          4超小巧來(lái)電顯示:QC歸屬地回頂部

          超小巧來(lái)電顯示:QC歸屬地

          軟件名稱(chēng):QC歸屬地
          軟件版本:0.11
          軟件大小:508KB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/78533.html

          來(lái)電歸屬地是一個(gè)非常簡(jiǎn)單的功能,只要將號(hào)碼和數(shù)據(jù)庫(kù)匹配然后顯示給用戶看即可。但偏偏,很多互聯(lián)網(wǎng)公司就有把一塊豆腐做成滿漢全席的本事,一個(gè)來(lái)電歸屬地能給你集成酒店預(yù)定銀行保險(xiǎn)等等千奇百怪的功能,體積自然也小不了。覺(jué)得存儲(chǔ)空間太奢侈?QC歸屬地能夠給你一個(gè)驚喜。

          QC歸屬地界面簡(jiǎn)簡(jiǎn)單單,功能足以夠用

          QC歸屬地是一款體積僅有0.5M的來(lái)電歸屬地查詢App,數(shù)百K的容量即實(shí)現(xiàn)了完整的來(lái)電歸屬地查詢功能。QC歸屬地可以顯示來(lái)電和去電的歸屬地,還能夠自定義歸屬地文字的顯示位置,并支持將號(hào)碼加入歸屬地信息。

          可設(shè)置項(xiàng)還是比較豐富的,可以手動(dòng)導(dǎo)入號(hào)碼數(shù)據(jù)庫(kù)

          不過(guò)遺憾的是,QC歸屬地并不能聯(lián)網(wǎng)更新數(shù)據(jù)庫(kù),用戶需要下載數(shù)據(jù)庫(kù)手動(dòng)導(dǎo)入。但考慮到號(hào)碼段并不會(huì)經(jīng)常更新,QC歸屬地的實(shí)用性還是杠杠的。值得一提的是,QC歸屬地的開(kāi)發(fā)者和快圖的開(kāi)發(fā)者是同一個(gè)人,實(shí)在是良心大大的。

          5超纖細(xì)音樂(lè)寶盒:HikiPlayer回頂部

          超纖細(xì)音樂(lè)寶盒:HikiPlayer

          軟件名稱(chēng):HikiPlayer播放器
          軟件版本:2.0.3
          軟件大小:200KB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/85592.html

          隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,音樂(lè)播放器也走上了“云”的道路。越來(lái)越多的音樂(lè)播放器主打在線體驗(yàn)和社交,體積也隨之日益增長(zhǎng)。一款音樂(lè)播放器,如果回歸本心,只保留本地音樂(lè)播放功能,體積可以精簡(jiǎn)到何種程度?答案非常驚人——僅有0.19M。

          HikiPlayer簡(jiǎn)約而不簡(jiǎn)單,支持按文件夾播放

          HikiPlayer就是這個(gè)僅有0.19M的超緊湊音樂(lè)播放器App。HikiPlayer界面簡(jiǎn)約,沒(méi)有什么華麗的裝飾,但配色和布局都顯得落落大方。得益于HikiPlayer跟進(jìn)了安卓5.0的Material Design設(shè)計(jì)規(guī)范,操作間還有豐富的過(guò)渡動(dòng)畫(huà),視覺(jué)效果心曠神怡。HikiPlayer能夠顯示專(zhuān)輯封面,支持鎖屏專(zhuān)輯圖片顯示和操控,看上去完全沒(méi)有簡(jiǎn)陋的感覺(jué),這0.2M做出來(lái)的界面可比一大票十幾M的音樂(lè)App不知道高到哪里去了。

          支持鎖屏控制和通知欄控件,非常好用

          支持EQ調(diào)節(jié),還附帶了N種EQ方案

          在功能方面,HikiPlayer只支持本地文件夾播放,沒(méi)有附帶媒體庫(kù)功能。如果你習(xí)慣下載歌曲并整理的習(xí)慣,用起來(lái)還是問(wèn)題不大的。HikiPlayer支持多種播放模式,循環(huán)播放隨機(jī)播放都有提供,還可以調(diào)節(jié)EQ,并附帶有小部件——這0.2M的體積簡(jiǎn)直不能再物盡其用了。

          6超緊湊手勢(shì)控件:Swipe Navigation回頂部

          超緊湊手勢(shì)控件:Swipe Navigation

          軟件名稱(chēng):滑動(dòng)導(dǎo)航(Swipe Navigation)
          軟件版本:3.0.0
          軟件大小:972KB
          軟件授權(quán):免費(fèi)
          適用平臺(tái):Android
          下載地址:http://dl.pconline.com.cn/download/359785.html

          現(xiàn)在很多移動(dòng)OS都引入了大量手勢(shì)操作,比如說(shuō)iOS可以利用滑動(dòng)手勢(shì)實(shí)現(xiàn)后退、返回桌面等功能,Ubuntu Mobile更是完全脫離了按鈕,用手勢(shì)解決一切。安卓在手勢(shì)利用方面顯得沒(méi)有這么激進(jìn),那么要抹平手勢(shì)利用方面的差距,安卓需要增加多少東西?0.95M的Swipe Navigation就足以勝任。

          Swipe Navigation界面,雖然比較簡(jiǎn)陋,但功能擺在那

          Swipe Navigation是一款體積非常緊湊的安卓手勢(shì)App,不足1M的身軀卻蘊(yùn)藏了巨大的能量。Swipe Navigation提供了多種手勢(shì)可選,用戶可以自定義手勢(shì)和系統(tǒng)功能一一對(duì)應(yīng)。通過(guò)Swipe Navigation,可以設(shè)定在屏幕不同的地方滑動(dòng),從而實(shí)現(xiàn)不同的功能,用戶還能夠微調(diào)手勢(shì)的滑動(dòng)長(zhǎng)度、靈敏度等參數(shù),使之更符合自己的使用習(xí)慣。

          手勢(shì)對(duì)應(yīng)的功能可以自定義,還支持Dock快速調(diào)取App

          此外,Swipe Navigation還提供了Dock功能,用戶可以將常用的功能放置到Dock邊欄上,需要的時(shí)候通過(guò)手勢(shì)呼出Dock即可。安卓平臺(tái)上的手勢(shì)App并不少,普遍體積也都不大。就算是功能最強(qiáng)大的GMD,體積也就2M不到。如果你不介意體積大那么一點(diǎn)點(diǎn),功能更多的GMD也非常值得體驗(yàn)。

          總結(jié)

          曾幾何時(shí),手機(jī)應(yīng)用幾乎全都是數(shù)以KB計(jì)的羽量級(jí)軟件,但隨著移動(dòng)平臺(tái)的飛速發(fā)展,手機(jī)App在資源占用上甚至已經(jīng)可以和PC軟件一爭(zhēng)長(zhǎng)短。不過(guò),小而美的存在總是有的,希望大家能夠通過(guò)上文的App享受到高效代碼的魅力吧!

          【推薦】用PConline官方客戶端下載

          avaScript在現(xiàn)在的網(wǎng)頁(yè)設(shè)計(jì)中用得很多,Android 的WebView可以載入網(wǎng)頁(yè),WebView也設(shè)計(jì)了與JavaScript通信的橋梁。這篇主要介紹一下WebViewk控件如何和JavaScript進(jìn)行交互。

          WebView:

          WebView和網(wǎng)頁(yè)相關(guān)的主要有一下幾個(gè)方法:

          setWebViewClient;

          setWebChromeClient;

          addJavascriptInterface;

          loadUrl;

          setWebViewClient:設(shè)置一個(gè)WebViewClient的對(duì)象,通過(guò)這個(gè)對(duì)象的幾個(gè)回調(diào)方法,可以知道當(dāng)前網(wǎng)頁(yè)的狀態(tài)。

          setWebViewChromeClient: 設(shè)置一個(gè)WebChromeClient對(duì)象,JavaScript調(diào)用的一些內(nèi)建方法都是通過(guò)這個(gè)對(duì)象來(lái)處理的。

          addJavascriptInterface: 設(shè)置JavaScript的接口,有兩個(gè)參數(shù),第一個(gè)一般是一個(gè)Object對(duì)象,里面實(shí)現(xiàn)的方法都是網(wǎng)頁(yè)里JavaScript可以調(diào)用到的,第二個(gè)參數(shù)是一個(gè)字符串,最后到JavaScript就相當(dāng)于一個(gè)對(duì)象名,JavaScript通過(guò)這個(gè)對(duì)象名調(diào)用第一個(gè)參數(shù)里面實(shí)現(xiàn)的方法。要使這個(gè)方法生效,要通過(guò)WebView的getSettings方法獲取WebSettings對(duì)象,設(shè)置JavaScript使能 setJavaScriptEnabled(true)。

          loadUrl:載入相應(yīng)網(wǎng)頁(yè)。

          下面實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的Demo(最后有效果圖): 主要的流程是載入了asset目錄下的一個(gè)內(nèi)置網(wǎng)頁(yè),點(diǎn)擊網(wǎng)頁(yè)上的Click按鈕,會(huì)調(diào)用通過(guò)addJavascriptInterface方法設(shè)置下去的Object的show方法,這個(gè)方法里通過(guò)loadUrl的方式調(diào)用JavaScript的javaScriptshow方法,這個(gè)方法里又調(diào)用了Java的result方法,result方法里顯示了一個(gè)Toast.需要注意的是show方法的回調(diào)和result方法的回調(diào)是不在主線程的。

          MainActivity.java

           1 package com.example.administrator.webviewl;
           2 
           3 import android.graphics.Bitmap;
           4 import android.os.Handler;
           5 import android.support.v7.app.AppCompatActivity;
           6 import android.os.Bundle;
           7 import android.util.Log;
           8 import android.webkit.JavascriptInterface;
           9 import android.webkit.JsResult;
          10 import android.webkit.WebChromeClient;
          11 import android.webkit.WebResourceError;
          12 import android.webkit.WebResourceRequest;
          13 import android.webkit.WebView;
          14 import android.webkit.WebViewClient;
          15 import android.widget.Toast;
          16 
          17 public class MainActivity extends AppCompatActivity {
          18 
          19     private static final String TAG = "MainActivity.TAG";
          20     WebView mWebView;
          21     Handler mHander = new Handler;
          22     @Override
          23     protected void onCreate(Bundle savedInstanceState) {
          24         super.onCreate(savedInstanceState);
          25         setContentView(R.layout.activity_main);
          26         mWebView = (WebView)findViewById(R.id.mWebView);
          27         initWebView;
          28     }
          29 
          30     public void initWebView {
          31         mWebView.getSettings.setJavaScriptEnabled(true);
          32         mWebView.setWebViewClient(new WebViewClientCustom);
          33         mWebView.addJavascriptInterface(new Object {
          34  @JavascriptInterface
          35 public void result(final String result) {
          36 Log.d(TAG,"javaScript 調(diào)用java的方法 返回結(jié)果 result = " + result);
          37 mHander.post(new Runnable {
          38  @Override
          39 public void run {
          40 if (result.length > 0) Toast.makeText(MainActivity.this,"你輸入了: " + result,Toast.LENGTH_SHORT).show;
          41  }
          42  });
          43  }
          44  @JavascriptInterface
          45 public void show {
          46 Log.d(TAG,"JavaScript 調(diào)用java show");
          47 mHander.post(new Runnable {
          48  @Override
          49 public void run {
          50 Log.d(TAG,"java 調(diào)用 javaScript  javaScriptshow");
          51 mWebView.loadUrl("JavaScript:javaScriptshow");
          52  }
          53  });
          54 return;
          55  }
          56         },"JavaScriptL");
          57         mWebView.loadUrl("file:///android_asset/index.html");
          58     }
          59 
          60     public class WebViewClientCustom  extends WebViewClient {
          61         @Override
          62         public void onPageStarted(WebView view, String url, Bitmap favicon) {
          63 Log.d(TAG,"onPageStarted");
          64 super.onPageStarted(view, url, favicon);
          65         }
          66 
          67         @Override
          68         public void onPageFinished(WebView view, String url) {
          69 Log.d(TAG,"onPageFinished");
          70 super.onPageFinished(view, url);
          71         }
          72 
          73         @Override
          74         public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
          75 Log.d(TAG,"onReceivedError");
          76 super.onReceivedError(view, request, error);
          77         }
          78     }
          79 }

          View Code

          index.html 內(nèi)置的網(wǎng)頁(yè)

           1 <!doctype html>
           2 <html lang="en">
           3  <head>
           4   <meta charset="UTF-8">
           5   <meta name="Generator" content="EditPlus?">
           6   <meta name="Author" content="">
           7   <meta name="Keywords" content="">
           8   <meta name="Description" content="">
           9   <title>javaScript</title>
          10   <script type="text/javaScript">
          11         function javaScriptshow {
          12 var a = document.getElementById("text").value;
          13  JavaScriptL.result(a);
          14         }
          15 </script>
          16  </head>
          17  <body style="text-align:center;margin-top:100px">
          18     <p > Android javaScript學(xué)習(xí)</p>
          19     <form action="">
          20 <input type="text" id = "text" value=""/>
          21         <input type="button" onclick="window.JavaScriptL.show" value="Click" />
          22     </form>
          23  </body>
          24 </html>

          實(shí)現(xiàn)的效果圖如下:


          主站蜘蛛池模板: 国产在线精品一区二区在线看| 人妻无码一区二区不卡无码av| 在线观看精品一区| 日韩精品一区二区三区老鸭窝| 国产91大片精品一区在线观看 | 亚洲一区二区三区写真| 亚洲中文字幕乱码一区| 日韩精品无码Av一区二区| 不卡一区二区在线| 激情内射亚洲一区二区三区| 无码丰满熟妇一区二区| 国产一区二区三区四| 成人免费av一区二区三区| 国产成人精品一区二区秒拍 | 午夜精品一区二区三区在线视| 日本一区二区三区免费高清在线| 亚洲乱码国产一区三区| 中文激情在线一区二区| 日韩一区二区精品观看| 国产爆乳无码一区二区麻豆| 亚洲熟女综合一区二区三区| 国产伦精品一区二区三区免费迷| 香蕉视频一区二区| 人妻av综合天堂一区| av无码人妻一区二区三区牛牛| 国产91大片精品一区在线观看| 日本一区二区在线不卡| 日韩精品乱码AV一区二区| 日韩久久精品一区二区三区| 国产成人精品无码一区二区三区 | 成人精品一区二区三区校园激情| 一区二区三区免费电影| 色窝窝无码一区二区三区色欲 | 亚洲视频一区在线| 国产av夜夜欢一区二区三区| 亚洲国产老鸭窝一区二区三区| 日韩高清一区二区三区不卡| 亚洲av不卡一区二区三区| 乱人伦一区二区三区| 成人一区二区三区视频在线观看 | 无码丰满熟妇一区二区|