Android 软件平台架构设计

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 12:17 我要评论(0)

试想你做的不是一个软件,而是一个软件族, 这个些软件需要在Android平台发布, 你应该做何种规划?这些问题需要在以下真实场景中考虑:

QQ发布的特有手机, 需要继承多个软件: QQ空间、股票、聊天、游戏等

一个具有学习平台功能的手机, 需要多个软件: 电子词典、数学工具、学习进度安排、在线教学、绘图板、考试系统

机械物联网应用, 需要多个服务: 电子商务、工况查询、专家系统、行业信息检索等

事实上, 随着客户端的独占性/垂直型需求的增加, 这类跟硬件绑定的诉求将日益增加, 因此软件的平台规划能力要求会逐步加强。 Android系统在设计之初也考虑到不同应用(进程)之间的通信, 为此实现了非常多的机制来解决进程通信的问题。这些正是本文需要探求的问题。

需要关注的典型问题包含:

为了方便低耦合的管理, 要求一个应用能拆分成多个下级apk. 单个APK以足够自我管理.

apk自我升级到能力, 不会对整体造成影响

应用能对下级APK进行权限控制(比如访问、卸载、剔除)

apk与上级应用以及平级apk之间, 保持最大限度的低耦合

apk保持良好的高内聚能力, 不会跟其它APK产生功能上的相似点

APK之间的能保持紧密的发生关系

apk能保持调用

apk能传递数据

apk之间可共享库或者共享数据

曾经走过的弯路:

1.软件分离带来的问题, 就是管理, 典型的问题就是插件过多的问题。 分离的代价, 需要在管理上下功夫。

2. 一些个人经验:

严格命插件或者可分离软件的命名规范

无需分开的插件/软件尽量合并, 避免后期软件带来的膨胀

摒弃个人陋习, 自己曾经的想法是: 本项目的代码, 直接可以搬移到另外一个项目中运行, 甚至可以到达无需移植的效果, 其实这个想法是很脑残的。 允许一定范围内的修改和移植, 这已经是可重用插件不错的境界了。不要过于追求完美。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...