解决方案,是正对与需求来谈的。一个抽象的需求,需要一个较为上层抽象的解决方案来处理,这是病和药的关系。但是一个解决方案,可能会包含多个功能,每个功能都是解决方案上的一个节点。一个优秀的解决方案必然需要一个或多个核心的功能来支撑。

 
在android客户端来实现解决方案,则首先要做的两件事:1 将要实现的功能罗列出来,并且逐一细化,排序。2 核心功能运行保障。3 分析硬件环境,熟悉客户端能够提供的功能和接口,以及数据质量。
 
1 罗列功能:实现一个解决方案肯定不仅仅是一个功能能够体现的,但是必然有一两个核心功能。但是有核心功能,并不代表用户就可以很方便的进行操作。因此,需要根据用户的使用习惯补充一些支撑功能。例如播放一个视频文件,核心功能是播放功能,但是用户的习惯是:首先打开文件选择器,单击文件行进播放。显然满足用户的这一整套,才能说是一个解决方案。其次,有些功能是可以继续细分的,细分功能有助于更加清晰和系统环境进行评估。罗列这些功能,并且排序,将有助于业务的实现和调用系统接口的预估。
 
2 保障核心功能:两个方面,一个方面核心功能本身是否健壮,在苛刻的系统环境中运行是否流畅。很多buger都喜欢移植代码,但是很少考虑运行条件,移植过来是否能够健康运行。这方面需要一个评估。另一个方面,核心功能是否核心功能的需要怎么样调用才得当,以及运行时出现异常如何保证稳定。
 
 
3 分析硬件环境:硬件环境是指设备提供的一些可以调用的接口,以及提供的数据。有些机器可能没有某些器件,例如陀螺仪,数据业务,NFC等,需要预先考虑,否则方案中需要NFC,或者某些小角落里的功能需要这种硬件支持,但是没有,岂不是很糟糕的事情。另一方面,就是数据质量,如果想要通过一个低像素的摄像头来拍摄一些风景,则产生的视频数据,肯定没有高像素的好。这是必然要考虑的,否则结果,你懂得。
 
综上扯蛋,概括为必须数据自己实现的业务或方案,并且要能在现有硬件环境中评估是否能够满足,不满足则改,削足适履随便你。

Android 客户端设计之解决方案的更多相关文章

  1. Android 客户端设计之环境考虑

    我做过两三个android客户端应用的整体设计和部分的编码,这里仅仅谈一下设计方面的故事(此乃原创2015:11:02). 做客户端设计,首先要考虑应用所在的环境,包括三方面:1 要设计的apk是在一 ...

  2. 网易考拉Android客户端网络模块设计

    本文来自网易云社区 作者:王鲁才 客户端开发中不可避免的需要接触到访问网络的需求,如何把访问网络模块设计的更具有扩展性是每一个移动开发者不得不面对的事情.现在有很多主流的网络请求处理框架,如Squar ...

  3. 微信Android客户端架构演进之路

    这是一个典型的Android应用在从小到大的成长过程中的“踩坑”与“填坑”的历史.互联网的变化速度如此之快,1年的时间里,可以发生翻天覆地的变化.今天在这里,重新和大家回顾微信客户端架构的演进过程,以 ...

  4. 基于xmpp openfire smack开发之Android客户端开发[3]

    在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前 ...

  5. 转:微信Android客户端架构演进之路

    转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 20 ...

  6. 基于SuperSocket的IIS主动推送消息给android客户端

    在上一篇文章<基于mina框架的GPS设备与服务器之间的交互>中,提到之前一直使用superwebsocket框架做为IIS和APP通信的媒介,经常出现无法通信的问题,必须一天几次的手动回 ...

  7. 更新日志 - BugHD Android 客户端上线

    当我们讨论 Bug 的时候,总是一脸愁容.尤其是移动应用的开发者,要应对用户可能在各种场景下使用 App 时产生的莫名崩溃. 为了更好地解决开发者的焦虑,BugHD Android 客户端上线了,高效 ...

  8. Android UI设计

    Android UI设计--PopupWindow显示位置设置 摘要: 当点击某个按钮并弹出PopupWindow时,PopupWindow左下角默认与按钮对齐,但是如果PopupWindow是下图的 ...

  9. Android架构设计和软硬整合完整训练

    Android架构设计和软硬整合完整训练 Android架构设计和软硬整合完整训练:HAL&Framework&Native Service&Android Service&a ...

随机推荐

  1. unity3d笔记:控制特效的播放速度

           一般在游戏中,主角或者怪物会受到减速效果,或者攻击速度减慢等类似的状态.本身动作减速的同时,衔接在角色上的特效也需要改变相应的播放速度.一般特效有三个游戏组件:   关键点就是改变Ani ...

  2. C# 闭包

    1. 首先要说明的是, delegate 被编译器 编译成一个class, 所以才能传来传去(具体参考 <CLR via C#>第四版), 所以 Action.Func也是如此 2. 在C ...

  3. 根据第三方库spire.pdf使用指定打印机打印pdf文件

    private void button1_Click(object sender, EventArgs e) { PdfDocument doc = new PdfDocument(); string ...

  4. iOS.Performance-trick-presentViewController-is-so-slow-in-didSelectRowAtIndexPath

    presentViewController is so slow in "tableView:didSelectRowAtIndexPath:" Use Case: 在UITabl ...

  5. composer 安装

    安装composer wget http://curl.haxx.se/ca/cacert.pem curl -sS https://getcomposer.org/installer | php - ...

  6. c#datagirdview ,用DataSource 方式赋值,然后更新出问题问题

    先说一下程序 主窗体  ,两个子窗体A,B.嵌入主窗体的Panel里边 主窗体,启动类C里边的查找方法,查到的值,通过事件委托送到窗体A C类里同时修改查询表,把修改的查询表通过事件委托发送给窗体B, ...

  7. Java中抽象类和接口的区别

    转载自:http://dev.yesky.com/436/7581936.shtml 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种 ...

  8. CSS布局技巧 -- sticky属性

    在一些很长的表格中,往往需要使用表头悬浮的设计以方便用户使用,例如H5电商页面通过下滑展示大量商品列表时,顶部的导航栏需要在离开屏幕时,需要固定在屏幕顶部以方便用户筛选类别.这种效果一直以来需要通过J ...

  9. R语言读取excel文件的3种方法

    R读取excel文件中数据的方法: 电脑有一个excel文件,原始的文件路径是:E:\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为                ...

  10. hdoj 1272 小希的迷宫

    上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了 ...