国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

JS調(diào)用Android、Ios原生控件

2024-05-06 16:34:25
字體:
供稿:網(wǎng)友

在上一篇博客(詳解JS與APP原生控件交互)中已經(jīng)和大家聊了,關(guān)于JS與Android、Ios原生控件之間相互通信的詳細(xì)代碼實(shí)現(xiàn),今天我們一起聊一下JS調(diào)用Android、Ios通信的相同點(diǎn)和不同點(diǎn),以便幫助我們?cè)谶M(jìn)行混合式開發(fā)時(shí),提高代碼質(zhì)量,實(shí)現(xiàn)兩者在網(wǎng)頁端代碼的統(tǒng)一。

首先我們先看一下Ios調(diào)用JS的方法實(shí)現(xiàn):

//無參調(diào)用function SwiftCallJs1(){}//有參調(diào)用function SwiftCallJs2(name, message){}

緊接著我們看一下Android調(diào)用JS的方法實(shí)現(xiàn):

//無參調(diào)用function AndroidCallJs1(){}//有參調(diào)用function AndroidCallJs2(data){}

從上面的代碼中你是否發(fā)現(xiàn),Android與Ios調(diào)用JS時(shí),JS處理函數(shù)兩者在無參調(diào)用時(shí)是相通的。有參調(diào)用不同點(diǎn)是Ios是一對(duì)一直接傳遞,Android則是字符串傳遞,當(dāng)然我們可以通過在Android和Ios端統(tǒng)一傳參使用JSON格式,JS支持JSON解析,從而實(shí)現(xiàn)兩個(gè)平臺(tái)在有參方法調(diào)用上的統(tǒng)一。

看完上面的Ios與Android調(diào)用JS,下面我們看一下JS調(diào)用Android與Ios原生通信的異同點(diǎn)。

首先我們看一下JS調(diào)用Android的方法實(shí)現(xiàn):

//無參調(diào)用function callNull(){ android.CallNull(); }//有參調(diào)用function callMessage(){ android.CallMessage("msg");}//有參調(diào)用--jsonfunction callJson(){ var json = "[{/"name/":/"滿藝網(wǎng)/",/"url/":/"www.manyiaby.com/"}]"; android.CallJson(json);}

接下來我們看一下JS調(diào)用Ios的方法實(shí)現(xiàn):

//一:無前綴調(diào)用//無參調(diào)用function test1(){ Test1();}//有參調(diào)用function test2(){ Test2("滿藝網(wǎng)","www.manyiaby.com");}//二:有前綴調(diào)用//無參調(diào)用--帶返回操作結(jié)果處理function callSystem(){ Ios.CallSystem();}//操作結(jié)果處理函數(shù)function JSCallNullIosResult(){}//有參調(diào)用function callWithMsg(){ Ios.CallWithMsg("滿藝網(wǎng)","www.manyiaby.com");}//有參調(diào)用--jsonfunction callWithJson(){ var json = "{/"name/":/"滿藝網(wǎng)/",/"url/":/"www.manyiaby.com/"}"; Ios.CallWithJson(json);}//有參調(diào)用--帶返回結(jié)果處理function callWithJsonResult(){ var json = "{/"name/":/"滿藝網(wǎng)/",/"url/":/"www.manyiaby.com/"}"; Ios.CallWithJsonResult(json);}function JSCallJsonIosResult(data){ alert("name:"+data["name"]); }

看到這里你一定發(fā)現(xiàn)了不同點(diǎn),1、Android沒有不帶前綴的方法調(diào)用,2、Android沒有方法調(diào)用后的操作結(jié)果返回處理邏輯。對(duì)于第一點(diǎn),就目前我所認(rèn)識(shí)到的是原生沒有通過具體的實(shí)現(xiàn)邏輯,不過這個(gè)點(diǎn)不影響我們的開發(fā),因?yàn)镮os是支持前綴方法調(diào)用的。對(duì)于第二點(diǎn),我的理解是對(duì)于返回處理函數(shù),我們可以在開發(fā)的添加上去,從而提高Ios用戶的使用體驗(yàn),并且處理函數(shù)不會(huì)影響到方法的調(diào)用。

好了到這里就和大家聊完了,當(dāng)然如果所述與您的理解有偏差,還望指點(diǎn)一二。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持VeVb武林網(wǎng)!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴里| 怀来县| 应用必备| 炉霍县| 汕头市| 武强县| 克山县| 南乐县| 卢龙县| 郁南县| 额尔古纳市| 宁武县| 丹江口市| 岢岚县| 德安县| 大姚县| 叶城县| 黔南| 鸡东县| 高青县| 上虞市| 长春市| 左权县| 腾冲县| 新郑市| 游戏| 云阳县| 滦南县| 章丘市| 宜章县| 同江市| 罗山县| 梧州市| 堆龙德庆县| 牙克石市| 恩施市| 荆门市| 仙游县| 通化县| 荃湾区| 富源县|