当前位置: 首页 > news >正文

网站开发工具安卓版专业小程序商城开发

网站开发工具安卓版,专业小程序商城开发,网站建设专家怎么样,开发工具和开发平台Android 当中的 Fragment 协作解耦方式 文章目录 Android 当中的 Fragment 协作解耦方式第一章 前言介绍第01节 遇到的问题第02节 绘图说明 第二章 核心代码第01节 代理人接口第02节 中间人 Activity第03节 开发者A第04节 开发者B第05节 测试类 第一章 前言介绍 第01节 遇到的…Android 当中的 Fragment 协作解耦方式 文章目录 Android 当中的 Fragment 协作解耦方式第一章 前言介绍第01节 遇到的问题第02节 绘图说明 第二章 核心代码第01节 代理人接口第02节 中间人 Activity第03节 开发者A第04节 开发者B第05节 测试类 第一章 前言介绍 第01节 遇到的问题 场景介绍:1、在同一个项目开发过程中, 程序员A 和 程序员B 开发着不同的功能模块。2、有一天需要程序员 A 和 程序员B 之间功能模块, 存在相互的调用关系。3、但是这些功能尚未开发完毕, 还在进行中。问题来了:1、在未开发完毕之前, 如何实现相互之间能够调用呢?2、怎样才能保证功能的协作开发, 正确有效的完成呢?试想场景:1、如果程序员 A 直接创建了 程序员B 开发类的对象, 调用程序员B 的方法。2、那么假设有一天程序员B 修改了其功能和操作, 那么程序员A 也被迫需要跟着修改。依赖关系很强烈第02节 绘图说明 问题细节介绍 问题的解决方案 第二章 核心代码 为了简单直击问题点我们采用 Java 代码去模拟 Android 的一些基础环境。 第01节 代理人接口 // 定义中间衔接的接口 public interface IServiceA2B {// 处理点击姓名的操作, 传递两个参数void handleClickName(int position, String message);// 处理点击头像的操作, 没有传递参数void handleClickAvert(); }第02节 中间人 Activity // 中间的 Activity 衔接人 public class Activity {// 在初始化 Activity 的 onCreate() 方法的时候, 初始化两个 Fragmentprivate FragmentA fragmentA;private FragmentB fragmentB;public void onCreate(){// 初始化两个 FragmentfragmentA new FragmentA();fragmentB new FragmentB();// 两个Fragment 都会持有 Activity的对象fragmentA.onCreateView(this);fragmentB.onCreateView(this);}// 定义中间衔接的接口, 该接口采用内部类的方式实现, 便于统一管理。// 如果存在多个 FragmentA.FragmentB.FragmentC.FragmentD...// 可以分别实现不同的接口方式private final IServiceA2B serviceA2B new IServiceA2B() {Overridepublic void handleClickName(int position, String message) {fragmentB.showName(position, message);}Overridepublic void handleClickAvert() {fragmentB.showAvert();}};// 暴露出接口对象, 给事件发起者, 持有该接口, 通过接口去调用具体的实现。public IServiceA2B getServiceA2B() {return serviceA2B;} }第03节 开发者A 事件的发起方。FragmentA // 总结: 对于事件的发起者, FragmentA 需要做的三件事情: // 1. 通过 Fragment 拿到 Activity 的对象。 // 2. 通过 Activity 的对象, 拿到代理接口的对象 service // 3. 在处理点击事件的时候, 采用代理接口的对象, 去调用具体的方法 public class FragmentA {private Activity activity;public void onCreateView(Activity activity){System.out.println(FragmentA.onCreateView);this.activity activity;buttonClickAvert();buttonClickName(66, 张无忌);}private void buttonClickName(int position, String name) {System.out.println(FragmentA.buttonClickName);activity.getServiceA2B().handleClickName(position, name);}private void buttonClickAvert() {System.out.println(FragmentA.buttonClickAvert);activity.getServiceA2B().handleClickAvert();} }第04节 开发者B 事件的接收方。FragmentB // 总结: 对于事件的接收者, FragmentB 需要做的三件事情: // 1. 自己的 Fragment 当中, 去定义接收到数据之后的实现展示的逻辑 // 2. 在外部定义需要衔接的接口, 代理接口 IServiceXXX // 3. 在Activity 当中, 去定义接口的内部类实现。 // I. 接口实现的方法当中, 采用 FragmentB 的对象, 去调用 FragmentB 当中的方法 // II. 对外暴露出代理接口的对象, 也就是快捷键生产 getIServiceXXX 的对象, 让发送者持有代理接口对象。 public class FragmentB {private Activity activity;public void onCreateView(Activity activity){System.out.println(FragmentB.onCreateView);this.activity activity;}public void showAvert() {System.out.println(FragmentB.showAvert);}public void showName(int position, String name) {System.out.println(FragmentB.showName.position: position , name: name);}}第05节 测试类 模拟过程 public class Main {public static void main(String[] args) {System.out.println(APP启动了...);Activity activity new Activity();activity.onCreate();System.out.println(APP退出了....);} }最终运行的结果 APP启动了... FragmentA.onCreateView FragmentA.buttonClickAvert FragmentB.showAvert FragmentA.buttonClickName FragmentB.showName.position: 66, name: 张无忌 FragmentB.onCreateView APP退出了....
http://www.w-s-a.com/news/688905/

相关文章:

  • 网站不备案影响收录吗深圳住房网站app
  • 交网站建设域名计入什么科目开发平台教程
  • 个人网站定制北京快速建站模板
  • 河南海华工程建设监理公司网站高端论坛网站建设
  • 网站建设网络推广方案图片编辑器免费
  • 如何用dw做网站设计设计头条
  • 网站建设基础及流程北京商场购物中心排名
  • 青州市城乡建设局网站自建网站步骤
  • wordpress文章延迟加载优化设计答案四年级上册语文
  • 做网站源码要给客户嘛怎么在运行打开wordpress
  • 北海住房和城乡建设局网站wordpress标题去掉私密
  • 织梦网站安装视频做网站都有那些步骤
  • 网站空间大小选择沈阳微信网站制作
  • 网站分享对联广告网站结构的类型
  • 三维家是在网站上做还是在app上北京网站建设 专业10年
  • 模拟网站建设网站建设认准猪八戒网
  • godaddy网站建设教程微信手机网站搭建
  • 网站建设 商城淄博网站制作哪家好
  • 廊坊手机网站团队国际贸易进口代理公司
  • 运用django做网站网站建设问题及解决办法
  • 商丘企业网站服务c mvc 网站开发
  • 太仓建设工程网站广州seo排名外包
  • 成都的教育品牌网站建设做网站不给提供ftp
  • 建站行业市场人力管理系统
  • qq钓鱼网站在线生成器google关键词搜索工具
  • 化妆网站模板移动网站建设模板
  • 欢迎访问语文建设杂志网站网站蓝色配色
  • 最新网站发布重庆城乡建设部网站首页
  • 网站建设费用高鄂尔多斯seo
  • dw做网站怎么发布网站无后台可以上框架