- 博客(2)
- 资源 (6)
- 收藏
- 关注
原创 【android】插件化技术原理详解
作为移动端的黑科技,插件化技术一直受大厂的青睐。插件化技术有减少宿主Apk体积,可以独立更新,模块化开发等优点,让宿主APP极具扩展性。那么,现在就来聊聊其中的技术实现
2018-03-10 22:42:11 536
原创 【Android】换肤技术讲解
主题,是许多APP必备的一个功能,用户可以根据自己的喜好,来切换具有个性的主题,让我们的APP更具把玩性。这篇博文就来聊聊皮肤切换的原理
2018-03-01 22:56:26 437
【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关注的人