- 博客(1)
- 资源 (6)
- 收藏
- 关注
【Android】pluginDemo
android的插件化技术原理详解,提供大家学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-03-10
AIDL进程通信
android 进程通信,分为service端和client端,通过AIDL 实现service与client端的同信问题,代码如下
public class BookManagerService extends Service {
private String TAG = "BookManagerService";
private NotificationManager mNM;
private CopyOnWriteArrayList<Book> bookList= new CopyOnWriteArrayList<>();
private Binder binder = new IBookManager.Stub(){
@Override
public List<Book> getBookList() throws RemoteException {
return bookList;
}
@Override
public void addBook(Book book) throws RemoteException {
if(!bookList.contains(book))
bookList.add(book);
Log.i(TAG, "addBook: 添加成功 !");
Log.i(TAG, "addBook: \n book id :"+book.bookId +" \nname : "+book.bookName);
}
@Override
public boolean removeBook(Book book) throws RemoteException {
Log.i(TAG, "removeBook: "+book.toString());
if(remove(bookList,book)){
Log.i(TAG, "removeBook: 删除成功 ");
return true ;
}
Log.i(TAG, "removeBook: 删除失败了 ");
return false ;
}
};
public boolean remove(CopyOnWriteArrayList<Book> list ,Book rBook){
for(Book book : list){
if(book.bookName .equals(rBook.bookName) && book.bookId == rBook.bookId){
list.remove(book);
return true ;
}
}
return false ;
}
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate: -------- ·");
mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
}
@Override
public IBinder onBind(Intent intent) {
Log.i(TAG, "onBind: ");
return binder;
}
}
2017-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人