|
Created by andrew tittle
about 7 years ago
|
|
Question | Answer |
AIDL Data types | -primitive JAVA data types -String -CharSequence -List -Map |
Steps to define AIDL | 1. Create .aidl file 2. Implement the interface 3. Expose interface to client |
What is the .aidl file? | The AIDL allows us to declare an interface with one or more methods, resides in the src/ directory |
.aidl file info? | -each .aidl file can only define 1 interface -Only methods are supported -Cannot expose static fields in .aidl -Non primitive data types require "in" "out" "inout" directional tags -Generates IBinder interface -SDK generates a .java interface file and stub class for the .aidl file |
How do we implement the .aidl interface? | -Extend generated IBinder Interface with an instance of the generated Stub class -Implement methods from .aidl file |
Rules for implementing Interface? | -Incoming calls not guaranteed on Main Thread- -RPC calls are synchronous- -No thrown exceptions are sent back to caller- -Client must have access to Interface Class/.aidl file |
How do we expose the Interface to clients? | -Extend SERVICE class and implement onBind() which returns an instance of the class that implements the generated stub -Client calls bindService() to connect -Clients onServiceConnected() callback receives Binder instance |
What is RPC? What does it do? | Remote Procedure Calls. Allows us to make method calls locally and execute them remotely in another process. |
There are no comments, be the first and leave one below:
Want to create your own Flashcards for free with GoConqr? Learn more.