- 博客(1)
- 资源 (6)
- 收藏
- 关注
原创 【Android】仿QQ可拖拽气泡
学习,从模仿开始。今天就学习一下QQ自定义的气泡,先上效果 这里涉及到一下知识点: Path:画贝塞尔曲线 Canvas:画形状和文字以及图片 view:触摸事件 属性动画:处理爆炸效果 一、初始化 整个过程可以分为以下4个状态: 静止状态:画一个大圆 相连状态:画两个一大一小的圆,并通过贝塞尔曲线相连, 如图 断开状态:画一个跟随手指移动的圆 爆炸状态:画出爆炸效果,...
2018-02-28 16:55:25 1221
【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关注的人