最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android AIDL中Map參數(shù)傳遞的問題詳解

 更新時(shí)間:2017年12月11日 12:03:42   作者:碎碎想  
這篇文章主要給大家介紹了關(guān)于Android AIDL中Map參數(shù)傳遞問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。

前言

AIDL是一個(gè)縮寫,全稱是Android Interface Definition Language,也就是Android接口定義語言。

我們都知道aidl是支持map作為參數(shù)傳遞的,但前提是map不能是泛型并且數(shù)據(jù)類型必須是aidl所支持的String,int等的Map參數(shù):

interface IMyAidl {
 void test(Map<String,String> datas);
}

本以為這樣寫就可以正常往下進(jìn)行了,但是這樣會(huì)有錯(cuò),拋出如下異常:

上述錯(cuò)誤中首先說明不知道如何創(chuàng)建Map<K,V>container,但是aidl肯定是支持map參數(shù)傳遞的。最后還指出,這是一個(gè)不知道的類型。

這確實(shí)是一個(gè)問題。

解決方法

我在網(wǎng)上查了一些資料,發(fā)現(xiàn)很少介紹這一方面的。最后在不斷的嘗試中發(fā)現(xiàn)如下寫法能解決:

interface IMyAidl {
 void test(in Map datas);
}

這里需要注意,如果map前面沒有in修飾符,也會(huì)拋出異常:

所以在使用的時(shí)候map必須聲明為in、out或者inout。接下來就能直接使用了。

因?yàn)榫W(wǎng)上對(duì)于此問題記錄太少,所以我寫出來解答與我一樣遇到此問題的人。

備注:至于為什么這樣使用,目前還不太清楚,請(qǐng)多指教。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論

灌南县| 屏东市| 黔西| 宝鸡市| 安龙县| 呼图壁县| 宜春市| 博罗县| 山丹县| 新疆| 清徐县| 曲阳县| 庆城县| 石阡县| 宜宾县| 如东县| 铜陵市| 禹城市| 梁山县| 大悟县| 涡阳县| 宜兴市| 长子县| 丹棱县| 横峰县| 顺昌县| 白河县| 灵寿县| 蓝山县| 平顺县| 驻马店市| 湖州市| 苗栗县| 西林县| 琼中| 景德镇市| 敦煌市| 垣曲县| 平顶山市| 手机| 姜堰市|