作家
登录

总结Android模块化的一些知识点。

作者: 来源: 2017-07-04 15:46:20 阅读 我要评论

Interface和Implement

在方才开端的时刻,项目架构应用的是MVP模式,这也是比来几年很风行的一个架构方法,下面是项目标原始设计。

如上分析,如不雅须要大年夜某个营业中获取数据,我们分别须要定义接口以及实现类,然在获取的时刻在经由过程反射来实例化对象。

下面是简单的代码示例

长处:不须要定义很多个回调接口,只须要定义事宜Class,然后经由过程Claas的独一性来进行事宜匹配。

  1. public interface IUserService { 
  2.  
  3.     String getUserName(); 

实现类

模块化场景

  1. class UserServiceImpl implements IUserService { 
  2.  
  3.     @Override 
  4.     public String getUserName() { 
  5.         return "UserServiceImpl.getUserName"
  6.     } 

当一个App用户量增多,营业量增长今后,就话苄很多开辟工程师介入同一个项目,人员增长了,本来小团队的开辟方法已经不合适了。

反射生查对象

  1. public class InjectHelper { 
  2.  
  3.     @NonNull 
  4.     public static AppContext getAppContext() { 
  5.         return AppContext.getAppContext(); 
  6.     } 
  7.  
  8.     @NonNull 
  9.     public static IModuleConfig getIModuleConfig() { 
  10.         return getAppContext().getModuleConfig(); 
  11.     } 
  12.  
  13.     @Nullable 
  14.     public static <T> T getInstance(Class<T> tClass) { 
  15.         IModuleConfig config = getIModuleConfig(); 
  16.         Class<? extends T> implementClass = config.getServiceImplementClass(tClass); 
  17.         if (implementClass != null) { 
  18.             try { 
  19.                 return implementClass.newInstance(); 
  20.             } catch (Exception e) { 
  21.                 e.printStackTrace(); 
  22.             } 
  23.         } 
  24.         return null
  25.     } 
  26.  

实际调用

  1. IUserService userService = InjectHelper.getInstance(IUserService.class); 

      推荐阅读

      深入分析一波,你们说的云安全到底是什么鬼?

    云安然到底是什么?是传统厂商的盒子的iso化?是云厂商自身具备的安然才能?照样SaaS供给安然办事?这些不雅点都比较单方面,作为聊天话题还可以,但落地还须要卖力评论辩论。一、云安然标>>>详细阅读


    本文标题:总结Android模块化的一些知识点。

    地址:http://www.17bianji.com/lsqh/36020.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)