zoukankan      html  css  js  c++  java
  • 宝宝巴士安卓框架介绍

    宝宝巴士安卓框架介绍

    本文从以下几个方面介绍框架:
    1、框架的设计思路
    2、这样设计的好处
    3、框架的结构图
    4、每个library的介绍
    5、结合打包工具来使用
    

    框架的设计思路

    因为Android有Library(组件)的概念,也就是可以把许多的功能单独剥离成组件,需要的时候加入到项目中。所以,我们把独立的功能模块单独做成了一个一个的Library。如下图:

    说明:Bbframework是框架的项目。BBModule_Plugin打头的,都是Library组件。

    设计的好处

    1、实现了需要什么用什么

    如果所有的功能都放置在同一个项目中,势必会造成apk包过大。组件插拔式的开发方式,让项目只会用到它需要的组件,这样可以保证app里面没有不需要的功能代码和资源。

    2、灵活切换广告平台

    每个不同的广告平台,我们都做成独立的组件,这样针对不同的渠道,可以灵活的替换不同的广告sdk。

    3、维护方便,不会影响其他app的出包进度

    每个Library都可以独立打包成jar引入到项目中。如果这个插件出问题,先撤下来开发,并不会影响到其他app的出包进度。

    框架的结构图


    说明:虚线代表可插拔的。实现代表不可插拔。箭头的方向代表引用关系。从上图可知,Plugin_SystemJni这个Unative组件,是不可离开Bbframework的。

    结合打包工具的使用

    我们采用反射的思想来管理资源,使得打包的时候,可以不受R文件引用的困扰。每个library都会生成一个独立的jar包,供打包工具使用。

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4554436.html

     

  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/superdo/p/4554436.html
Copyright © 2011-2022 走看看