- 博客(1)
- 资源 (6)
- 收藏
- 关注
原创 下载Android源码流程(完整版)
要在Linux环境下操作,要在Linux环境下操作,要在Linux环境下操作~~ 不要想在Windows环境下操作,因为会有各种问题。Windows环境的童鞋又不想装双系统的可以跟着下面的操作,Linux的童鞋可以直接跳过看。Mac的童鞋就略过~~~ (1)配Linux环境 在window中配置Linux虚拟机需要以下软件 VirtualBox下载地址 Ubuntu桌面(推荐版...
2017-12-05 15:11:18 4215 1
【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关注的人