Messenger傳輸大的數(shù)據(jù)

Messenger作為跨進(jìn)程,是很常用的方法,輕便脚线,已經(jīng)基于AIDL做了很多的封裝了,但是這個方法只能傳輸比較小的數(shù)據(jù)弥搞,如果要傳輸大一些的數(shù)據(jù)咋辦呢邮绿?可以使用Bundle.putBinder渠旁,我這里做個記錄:

首先創(chuàng)建一個aidl,GetLargeOne.aidl

// GetLargeOne.aidl

// Declare any non-default types here with import statements

//為了解決傳輸數(shù)據(jù)量很大的時候處理的情況
interface GetLargeOne {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */
    String getOne();
}

在發(fā)送端的使用方式:

        val data = Bundle()
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
            data.putBinder("one", object : GetLargeOne.Stub() {
                override fun getOne(): String {
                    return "要傳送的數(shù)據(jù)"
                }
            })
        }

在接收端的使用方式:

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
           val string =  GetLargeOne.Stub.asInterface(data?.getBinder("one")).one
            //string船逮,就是上面?zhèn)魉瓦^來的數(shù)據(jù)
        }

注意顾腊,如果是跨進(jìn)程,必須使用的是GetLargeOne.Stub.asInterface來處理挖胃,否者會報錯杂靶。

因為aidl不支持泛型,所以需要什么類型酱鸭,你就給自己定義一個什么類型就好了吗垮。以上代碼的重點,其實就是GetLargeOne.Stub.asInterface凹髓,我也是試了一段時間烁登,才幡然醒悟的,因為很多資料蔚舀,都是直接奔著使用aidl的方式去傳輸去了饵沧,如果是使用Messenger在這里做的綁定,其實也可以這樣寫的赌躺。

以上的發(fā)送端狼牺,和接收端,并不局限于你在哪個進(jìn)程礼患,只在于是钥,你是誰發(fā)送,誰接收讶泰。

參考:https://developer.android.com/guide/components/aidl?hl=zh-cn#Implement

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咏瑟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痪署,更是在濱河造成了極大的恐慌码泞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狼犯,死亡現(xiàn)場離奇詭異余寥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)悯森,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門宋舷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瓢姻,你說我怎么就攤上這事祝蝠。” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵绎狭,是天一觀的道長细溅。 經(jīng)常有香客問我,道長儡嘶,這世上最難降的妖魔是什么喇聊? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蹦狂,結(jié)果婚禮上誓篱,老公的妹妹穿的比我還像新娘。我一直安慰自己凯楔,他們只是感情好窜骄,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啼辣,像睡著了一般啊研。 火紅的嫁衣襯著肌膚如雪御滩。 梳的紋絲不亂的頭發(fā)上鸥拧,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機(jī)與錄音削解,去河邊找鬼富弦。 笑死,一個胖子當(dāng)著我的面吹牛氛驮,可吹牛的內(nèi)容都是我干的腕柜。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矫废,長吁一口氣:“原來是場噩夢啊……” “哼盏缤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蓖扑,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤唉铜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后律杠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體潭流,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年柜去,在試婚紗的時候發(fā)現(xiàn)自己被綠了灰嫉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗓奢,死狀恐怖讼撒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤根盒,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布瞻颂,位于F島的核電站,受9級特大地震影響郑象,放射性物質(zhì)發(fā)生泄漏贡这。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一厂榛、第九天 我趴在偏房一處隱蔽的房頂上張望盖矫。 院中可真熱鬧,春花似錦击奶、人聲如沸辈双。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽湃望。三九已至,卻和暖如春痰驱,著一層夾襖步出監(jiān)牢的瞬間证芭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工担映, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留废士,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓蝇完,卻偏偏與公主長得像官硝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子短蜕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

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