内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

AIDL文件怎么在AndroidStudio項(xiàng)目中創(chuàng)建-創(chuàng)新互聯(lián)

AIDL文件怎么在Android Studio項(xiàng)目中創(chuàng)建?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

我們一直強(qiáng)調(diào)網(wǎng)站建設(shè)、網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專業(yè)網(wǎng)站制作公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

在Android系統(tǒng)中,跨進(jìn)程通信是非常普遍的事情,它用到了Binder機(jī)制處理進(jìn)程之間的交互。Binder機(jī)制會(huì)開(kāi)放一些接口給Java層,供android開(kāi)發(fā)工程師調(diào)用進(jìn)程之間通信。這些接口android封裝到了AIDL文件里,當(dāng)我們項(xiàng)目用到跨進(jìn)程通信時(shí)可以創(chuàng)建.aidl文件,.aidl文件可以協(xié)助我們達(dá)到跨進(jìn)程的通信。下面簡(jiǎn)單介紹用AndroidStudio創(chuàng)建AIDL文件的過(guò)程。

a.新建AIDL文件

1.項(xiàng)目文件夾右鍵---> new --->選擇AIDL

AIDL文件怎么在Android Studio項(xiàng)目中創(chuàng)建

2.自定義一個(gè)接口名稱

AIDL文件怎么在Android Studio項(xiàng)目中創(chuàng)建

3.創(chuàng)建之后我們看到了xxx.aidl文件,然后編輯自己項(xiàng)目需要實(shí)現(xiàn)的方法,這里很簡(jiǎn)單就獲取一個(gè)字符串的方法getAllName。

AIDL文件怎么在Android Studio項(xiàng)目中創(chuàng)建

4.寫好之后,我們需要重新ReBuild,完后在項(xiàng)目build/generated/source/aidl/debug/包名 目錄下就看到了系統(tǒng)為我們生成的以剛才.aidl文件名命名的java文件。

AIDL文件怎么在Android Studio項(xiàng)目中創(chuàng)建

該java文件系統(tǒng)會(huì)自動(dòng)生成代碼:

Stub:描述了一個(gè)Java服務(wù),對(duì)應(yīng)是一個(gè)遠(yuǎn)程的Service。

Proxy:描述了一個(gè)Java服務(wù)的代理對(duì)象,在Client端就會(huì)得到這個(gè)對(duì)象。

這兩者都實(shí)現(xiàn)了IPersonManager接口。

asInterface:將Java服務(wù)的代理對(duì)象即一個(gè)BinderProxy封裝成了一個(gè)IPersonManager.Stub.Proxy對(duì)象,實(shí)現(xiàn)了IPersonManager接口。

onTransact:負(fù)責(zé)接收分發(fā)進(jìn)程間的通信。它首先會(huì)收到Client發(fā)來(lái)的請(qǐng)求,不同的方法進(jìn)入相應(yīng)的case代碼中,然后交給Stub的子類去處理事件,例如 java.lang.String _result = this.getAllName();   這里的this就可以讓它的子類去接收該請(qǐng)求并處理。
IBinder的transact方法:用來(lái)發(fā)送進(jìn)程間的請(qǐng)求。

b.利用AIDL實(shí)現(xiàn)進(jìn)程間的通訊

一:接口文件中只含有基礎(chǔ)數(shù)據(jù)類型

如上aidl文件,IPersonManager中只用到了基本數(shù)據(jù)類型,此時(shí)要完善Server端的小項(xiàng)目,還需要新建一個(gè)Service。
Server端代碼如下

public class PersonService extends Service { 
 
  private static String names = "alice & iland"; 
  public PersonBinder mPersonBinder; 
  @Override 
  public void onCreate() { 
    super.onCreate(); 
    mPersonBinder = new PersonBinder(); 
  } 
 
  @Override 
  public IBinder onBind(Intent intent) { 
    return mPersonBinder; 
  } 
  public class PersonBinder extends IPersonManager.Stub{ 
 
    @Override 
    public String getAllName() throws RemoteException { 
      return names; 
    } 
  } 
 
} 

本文名稱:AIDL文件怎么在AndroidStudio項(xiàng)目中創(chuàng)建-創(chuàng)新互聯(lián)
文章鏈接:http://m.rwnh.cn/article46/djichg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名小程序開(kāi)發(fā)、定制開(kāi)發(fā)、網(wǎng)站建設(shè)、建站公司、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
油尖旺区| 塘沽区| 文登市| 专栏| 连南| 沁源县| 常宁市| 中牟县| 莲花县| 洮南市| 五原县| 龙江县| 潮州市| 乐亭县| 宜川县| 南阳市| 永春县| 牡丹江市| 东城区| 海伦市| 平度市| 五河县| 东兴市| 富阳市| 满洲里市| 贵南县| 镇巴县| 利津县| 即墨市| 平凉市| 昭觉县| 永寿县| 井研县| 行唐县| 洪江市| 阿瓦提县| 伊川县| 阆中市| 西乌珠穆沁旗| 富阳市| 伽师县|