Android的Aidl實(shí)踐

一直想玩一下AIDL述寡,今天抽空搞定了一下取视,現(xiàn)在來記錄下了~

aidl全稱Android Interface Definition Language,是安卓跨進(jìn)程通訊列吼。

本教程基于AndroidStudio開發(fā)工具岭洲,實(shí)現(xiàn)一個簡單的Sample沪编。

一般aidl的效果是這樣子地:

app-->A充當(dāng)service的作用呼盆,這個app里面運(yùn)行著一個服務(wù)

app>B充當(dāng)client,調(diào)用A里面的service的數(shù)據(jù)

這邊說一下一個東東:

由于只是個簡單的Sample蚁廓,所以好多人會把充當(dāng)Service的這個app只用一個service访圃,沒有Activity,但是Android4.0以后不允許只有service而沒有Activity的應(yīng)用存在相嵌,我的設(shè)備是Android5.0的腿时,所以需要有一個簡單的界面。

好的饭宾,現(xiàn)在開始:

1 先創(chuàng)建Service的app

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

app-> new-> aidl->aidlfile

創(chuàng)建好一個aidl以后在aidl里面添加兩個方法


ok批糟,創(chuàng)建好了以后,bulid一下就會生成aidl對應(yīng)的Java文件


2 創(chuàng)建service

跟普通的創(chuàng)建service的方法一樣看铆,創(chuàng)建一個service徽鼎,編寫onBind方法

首先創(chuàng)建一個類繼承IAidl.Stub,這個是Java文件里面自動創(chuàng)建的一個類弹惦,是Binder的子類否淤,也實(shí)現(xiàn)了aidl的方法,這邊我們處理一下


做一下標(biāo)記棠隐,標(biāo)記是從這個app里面拿過去的

然后寫一下onBine方法的返回



這樣服務(wù)端就配置ok了石抡,當(dāng)客戶端綁定到我們服務(wù)端時,會返回mBinder對象助泽,就可以拿到getStringFromRemote返回的值了

3 現(xiàn)在去配置客戶端

注意:aidl的客戶端跟服務(wù)端的aidl要一毛一樣啰扛,包名也要一致,所以這邊有個小技巧

打開服務(wù)端的aidl目錄嗡贺,拷貝整個文件夾到客戶端去

具體隐解?

那就這樣吧:


在main目錄下黏貼整個個aidl文件夾



回來就可以了

4 最后,在client里面啟動service暑刃,獲取數(shù)據(jù)就行了

新建一個serviceConnection厢漩,并在onServiceConnection時獲取到Aidl實(shí)例


在client的oncreat時啟動service并綁定,此時就可以再onServiceConnection那邊拿到服務(wù)端返回的數(shù)據(jù)


這邊注意下啟動service的上下文岩臣,以setComponent的方式添加service參數(shù)溜嗜。第一個是包,名架谎,第二個是類名炸宵,類名就是服務(wù)端配置的那個service的name

運(yùn)行時應(yīng)該先啟動service的app叼耙,再啟動client的app

完~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末端铛,一起剝皮案震驚了整個濱河市骨稿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弧烤,老刑警劉巖熊榛,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疯攒,死亡現(xiàn)場離奇詭異会喝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)概页,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門籽御,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人惰匙,你說我怎么就攤上這事技掏。” “怎么了项鬼?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵哑梳,是天一觀的道長。 經(jīng)常有香客問我绘盟,道長鸠真,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任龄毡,我火速辦了婚禮弧哎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘稚虎。我一直安慰自己,他們只是感情好偎捎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布蠢终。 她就那樣靜靜地躺著,像睡著了一般茴她。 火紅的嫁衣襯著肌膚如雪寻拂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天丈牢,我揣著相機(jī)與錄音祭钉,去河邊找鬼。 笑死己沛,一個胖子當(dāng)著我的面吹牛慌核,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播申尼,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼垮卓,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了师幕?” 一聲冷哼從身側(cè)響起粟按,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后灭将,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疼鸟,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年庙曙,在試婚紗的時候發(fā)現(xiàn)自己被綠了空镜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡矾利,死狀恐怖姑裂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情男旗,我是刑警寧澤舶斧,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站察皇,受9級特大地震影響茴厉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜什荣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一矾缓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稻爬,春花似錦嗜闻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至友瘤,卻和暖如春翠肘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辫秧。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工束倍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盟戏。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓绪妹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柿究。 傳聞我的和親對象是個殘疾皇子喂急,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)笛求,斷路器廊移,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • Jianwei's blog 首頁 分類 關(guān)于 歸檔 標(biāo)簽 巧用Android多進(jìn)程糕簿,微信,微博等主流App都在用...
    justCode_閱讀 5,915評論 1 23
  • Android跨進(jìn)程通信IPC整體內(nèi)容如下 1狡孔、Android跨進(jìn)程通信IPC之1——Linux基礎(chǔ)2懂诗、Andro...
    隔壁老李頭閱讀 10,750評論 13 43
  • 才發(fā)現(xiàn)網(wǎng)易云音樂還有「長按屏幕選擇歌詞導(dǎo)出圖片」的功能。一直都很佩服網(wǎng)易的「有態(tài)度」和「有情懷」[微笑] ???
    文質(zhì)彬彬0閱讀 176評論 0 0