資源簡介
Android studio工程結構的AIDL詳細demo,包含客戶端工程和服務端工程,包含復雜對象傳遞和參數關鍵字介紹和服務端回調的知識點。

代碼片段和文件信息
/*
?*?This?file?is?auto-generated.??DO?NOT?MODIFY.
?*?Original?file:?D:\\projects\\c01\\sourcecode\\apps\\AIDLClient\\app\\src\\main\\aidl\\com\\lgf\\aidl\\test\\ICallbackTest.aidl
?*/
package?com.lgf.aidl.test;
public?interface?ICallbackTest?extends?android.os.IInterface
{
/**?Local-side?IPC?implementation?stub?class.?*/
public?static?abstract?class?Stub?extends?android.os.Binder?implements?com.lgf.aidl.test.ICallbackTest
{
private?static?final?java.lang.String?DEscriptOR?=?“com.lgf.aidl.test.ICallbackTest“;
/**?Construct?the?stub?at?attach?it?to?the?interface.?*/
public?Stub()
{
this.attachInterface(this?DEscriptOR);
}
/**
?*?Cast?an?IBinder?object?into?an?com.lgf.aidl.test.ICallbackTest?interface
?*?generating?a?proxy?if?needed.
?*/
public?static?com.lgf.aidl.test.ICallbackTest?asInterface(android.os.IBinder?obj)
{
if?((obj==null))?{
return?null;
}
android.os.IInterface?iin?=?obj.queryLocalInterface(DEscriptOR);
if?(((iin!=null)&&(iin?instanceof?com.lgf.aidl.test.ICallbackTest)))?{
return?((com.lgf.aidl.test.ICallbackTest)iin);
}
return?new?com.lgf.aidl.test.ICallbackTest.Stub.Proxy(obj);
}
@Override?public?android.os.IBinder?asBinder()
{
return?this;
}
@Override?public?boolean?onTransact(int?code?android.os.Parcel?data?android.os.Parcel?reply?int?flags)?throws?android.os.RemoteException
{
java.lang.String?descriptor?=?DEscriptOR;
switch?(code)
{
case?INTERFACE_TRANSACTION:
{
reply.writeString(descriptor);
return?true;
}
case?TRANSACTION_call:
{
data.enforceInterface(descriptor);
com.lgf.aidl.test.Entity?_arg0;
if?((0!=data.readInt()))?{
_arg0?=?com.lgf.aidl.test.Entity.CREATOR.createFromParcel(data);
}
else?{
_arg0?=?null;
}
this.call(_arg0);
reply.writeNoException();
return?true;
}
default:
{
return?super.onTransact(code?data?reply?flags);
}
}
}
private?static?class?Proxy?implements?com.lgf.aidl.test.ICallbackTest
{
private?android.os.IBinder?mRemote;
Proxy(android.os.IBinder?remote)
{
mRemote?=?remote;
}
@Override?public?android.os.IBinder?asBinder()
{
return?mRemote;
}
public?java.lang.String?getInterfaceDescriptor()
{
return?DEscriptOR;
}
@Override?public?void?call(com.lgf.aidl.test.Entity?e)?throws?android.os.RemoteException
{
android.os.Parcel?_data?=?android.os.Parcel.obtain();
android.os.Parcel?_reply?=?android.os.Parcel.obtain();
try?{
_data.writeInterfaceToken(DEscriptOR);
if?((e!=null))?{
_data.writeInt(1);
e.writeToParcel(_data?0);
}
else?{
_data.writeInt(0);
}
mRemote.transact(Stub.TRANSACTION_call?_data?_reply?0);
_reply.readException();
}
finally?{
_reply.recycle();
_data.recycle();
}
}
}
static?final?int?TRANSACTION_call?=?(android.os.IBinder.FIRST_CALL_TRANSACTION?+?0);
}
public?void?call(com.lgf.aidl.test.Entity?e)?throws?android.os.RemoteException;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-04?17:20??AIDL\
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\
?????文件?????????147??2018-07-04?10:59??AIDL\AIDLClient\.gitignore
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\fileChanges\
?????文件???????????1??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\fileChanges\last-build.bin
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\fileContent\
?????文件??????????17??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\fileContent\fileContent.lock
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\fileHashes\
?????文件???????43447??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\fileHashes\fileHashes.bin
?????文件??????????17??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\fileHashes\fileHashes.lock
?????文件???????18701??2018-07-04?13:26??AIDL\AIDLClient\.gradle\4.4\fileHashes\resourceHashesCache.bin
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\javaCompile\
?????文件???????66685??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\javaCompile\classAnalysis.bin
?????文件???????31660??2018-07-04?13:43??AIDL\AIDLClient\.gradle\4.4\javaCompile\jarAnalysis.bin
?????文件??????????17??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\javaCompile\javaCompile.lock
?????文件???????66230??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\javaCompile\taskHistory.bin
?????文件???????18893??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\javaCompile\taskJars.bin
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\4.4\taskHistory\
?????文件??????251147??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\taskHistory\taskHistory.bin
?????文件??????????17??2018-07-04?17:16??AIDL\AIDLClient\.gradle\4.4\taskHistory\taskHistory.lock
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.gradle\buildOutputCleanup\
?????文件??????????17??2018-07-04?17:16??AIDL\AIDLClient\.gradle\buildOutputCleanup\buildOutputCleanup.lock
?????文件??????????57??2018-07-04?11:01??AIDL\AIDLClient\.gradle\buildOutputCleanup\cache.properties
?????文件???????20909??2018-07-04?17:16??AIDL\AIDLClient\.gradle\buildOutputCleanup\outputFiles.bin
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.idea\
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.idea\caches\
?????文件?????????545??2018-07-04?17:09??AIDL\AIDLClient\.idea\caches\build_file_checksums.ser
?????目錄???????????0??2018-07-04?17:20??AIDL\AIDLClient\.idea\codest
?????文件????????1803??2018-07-04?10:59??AIDL\AIDLClient\.idea\codest
............此處省略1602個文件信息
評論
共有 條評論