欢迎来到天天文库
浏览记录
ID:39464573
大小:37.00 KB
页数:7页
时间:2019-07-03
《Android总结之链式调用(方法链)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android总结之链式调用(方法链)前言:最近在学习总结Android属性动画的时候,发现Android的属性动画设计采用了链式调用的方式,然后又回顾了一下了以前接触的开源框架Glide也是采用链式调用的方式,还有最近火的一塌糊涂的RxJava也是采用链式调用,为何如此之多的开源项目采用这种设计方式,今天来对比学习一下。什么是链式调用?链式调用其实只不过是一种语法招数。它能让你通过重用一个初始操作来达到用少量代码表达复杂操作的目的。表现形式:一个初始化操作之后,后面的调用以“.”连接起来。例如Glide使用Glide.with(this).load(imageUrl).placehold
2、er(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);实际举例:以以前做的简单的IM即时通讯消息体MsgInfo为例。1.)普通实现方式MsgInfo.java实现方式复制代码publicclassMsgInfo{/***消息的类型*/publicstaticclassType{publicfinalstaticintTEXT=0;//文本消息publicfinalstaticintIMAGE=1;//图片消息publicfinalstaticintVOICE=2;//语音消息publicfinalstat
3、icintMOVIE=3;//视频消息publicfinalstaticintURL=4;//URL消息}/***消息的方向*/publicstaticclassDirect{publicfinalstaticintSEND=0;//发送publicfinalstaticintRECEIVE=1;//接收}/***消息的状态*/publicstaticclassStatus{publicfinalstaticintSEND_SUCCESS=0;//已发送publicfinalstaticintSENDING=1;//正在发送publicfinalstaticintSEND_FAILED=2
4、;//发送失败publicfinalstaticintREAD=3;//已读publicfinalstaticintUNREAD=4;//未读}privatelongmsgId;//消息IdprivateStringownerId;//消息属于哪个用户privateStringrelatedId;//消息关联到哪个用户;privateStringbody;//消息体privatelongtime;//消息发送接收时间privateintdirect;//消息的方向privateintstatus;//消息的状态privateinttype;//消息的类型publicMsgInfo(){}p
5、ubliclonggetMsgId(){returnmsgId;}publicvoidsetMsgId(longmsgId){this.msgId=msgId;}publicintgetType(){returntype;}publicvoidsetType(inttype){this.type=type;}publicStringgetOwnerId(){returnownerId;}publicvoidsetOwnerId(StringownerId){this.ownerId=ownerId;}publicStringgetRelatedId(){returnrelatedId;}p
6、ublicvoidsetRelatedId(StringrelatedId){this.relatedId=relatedId;}publicStringgetBody(){returnbody;}publicvoidsetBody(Stringbody){this.body=body;}publiclonggetTime(){returntime;}publicvoidsetTime(longtime){this.time=time;}publicintgetDirect(){returndirect;}publicvoidsetDirect(intdirect){this.direct
7、=direct;}publicintgetStatus(){returnstatus;}publicvoidsetStatus(intstatus){this.status=status;}}复制代码调用方式复制代码MsgInfomsgInfo=newMsgInfo();msgInfo.setOwnerId("100011002");msgInfo.setRelatedId("1000110003");msgInfo.s
此文档下载收益归作者所有