×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

APP开发公司分享关于利用clone方法实现数据的深赋值的代码

文章编辑:网站建设 文章来源:APP开发 浏览量:

  开发app项目对于各个模块功能架构的设计,深圳APP开发公司本栏目就以下几种设计方式与代码进行分享,希望能给您的项目规划与设计工作有所帮助,业务逻辑层设计(Presenter)MVP架构中的业务逻辑层可以分为两大功能模块:接口模块和功能模块。强化Presenter层的作用,将所有逻辑操作都放在Presenter层内也容易造成Presenter层的代码量比较大,在这层内可按功能把代码分成不同的功能块,以方便管理。
APP开发关于数据访问层模块设计
  (Model)Android应用的数据访问层包括SharedPreferences、File、DataBase和HTTP等与读写数据相关的类,分为三大功能模块:接口模块、功能模块和实体类模块。
APP开发关于功能模块设计
  实体类模块实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数据的职责。此模块包括与各种数据相关的类,通常包含在Model层中。在处理类对象数据的时候,常需要把数据序列化,因此实体
实体类需要继承Parcelable或Serializable这两个接口类(建议优先使用Parcelable)。Java语言在数据赋值/拷贝的时候,常是浅赋值/浅拷贝,因此实体类还需要继承Cloneable这个接口类,利用clone方法实现数据的深赋值/深拷贝,示例代码如下所示。
public class CommentDetail implements Parcelable, Cloneable {     public String commentContent;     public int commentId;     public CommentDetail clone() {         CommentDetail commentDetail = null;         try {             commentDetail = (CommentDetail) super. clone();        } catch (CloneNotSupportedException e) {             e. printStackTrace();        }         return commentDetail;    }    @ Override
  public String toString() {         return "CommentDetail{" +                " commentContent = '" + commentContent +  '\ ' ' +                ", commentId = '" + commentId +  '\ ' ' +                 '} ';    }    @ Override     public int describeContents() { return 0; }    @ Override     public void writeToParcel( Parcel dest, int flags) {         dest. writeString( this. commentContent);         dest. writeInt( this. commentId);    }     public CommentDetail() {}     protected CommentDetail( Parcel in) {         this. commentContent = in. readString();         this. commentId= in. readInt();    }     public static final Creator< CommentDetail> CREATOR = new Creator
Creator < CommentDetail>() {         public CommentDetail createFromParcel( Parcel source) {return new CommentDetail (source);}         public CommentDetail[] newArray( int size) {return new CommentDetail[ size];}    };     private void setCommentContent( String strContent){         commentContent = strContent;    }     private String getCommentContent(){         return commentContent;    }     private void setCommentId( int intId){         commentId = intId;    }     private int getCommentId(){         return commentId;    } }
APP开发公司关于辅助类模块设计经验分享
  此模块包括各种全局辅助性功能的工具类,如对手机号码的校验、字符串的特殊处理、获取设备的相关信息等功能都可放在这个模块,日志功能通常也放在这个模块。
APP开发公司关于第三方功能模块设计方法解析
  在APP中使用的三方功能模块大体分为下面两类。各类控件。具体功能。如扫码、地图、推送和统计等功能。此功能模块可以按上述分类,再细分不同子模块。对于各功能模块,如地图,可能用百度的,也可能用高德的,建议增加一个适配层,这样切换不同的SDK时不需要修改调用此模块的代码。好了,APP开发公司本文关于“
APP开发公司分享关于利用clone方法实现数据的深赋值的代码”知识就分享到这里,谢谢关注,博纳网络编辑整理。
 

当前文章链接:/construction/appkaifa/2392.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。