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

 
在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. 解决JQuery.ajax.post乱码问题

    问题:昨天在进行项目功能实现时,利用了$.ajax吧数据post给服务,接着保存到cookie中,而数据中是带有中文的 我的post代码: comCarId=encodeURIComponent(co ...

  2. 关于移动端input框 在微信中 和ios中无法输入文字的问题

    这个是一个提交的页面但是总是无法输入进去文字 在uc中是可以的 但是在微信中 或者ios自带浏览器是无法输入的  绞尽脑汁  找了半天  才发现自己多加了一段代码(这个代码是模版中自带的   我靠) ...

  3. Python list列表的排序

    当我们从数据库中获取一写数据后,一般对于列表的排序是经常会遇到的问题,今天总结一下python对于列表list排序的常用方法: 第一种:内建函数sort() 这个应该是我们使用最多的也是最简单的排序函 ...

  4. mysql的数据转换

    在sql语句中完成对数字类型的数据转换成字符类型的数据.像这次将读取出来的float类型的数据,在进行jsonObject.fromObject(object).toString();这个方法,并没有 ...

  5. easyui form表单提交应注意的问题

    今天在一个项目中用到表单提交,代码如下: $('#CreateForm').form('submit', { onSubmit: function () { ajaxCreateFrom(this, ...

  6. SQL:无法解决 equal to 操作的排序规则冲突。

    更改存储过程的时候,在SQL中出现了 “无法解决 equal to 操作的排序规则冲突”错误,网上搜之,发现是表之间元素创建时排序规则不同(一个是collate Chinese_PRC_CI_AI_W ...

  7. CSS总则。

    2.23:字体常用Css样式. font-family,font-size,color,font-weight,line-height,letter-spacing,text-decoration,t ...

  8. Markdown示例

    欢迎使用 Cmd Markdown 编辑阅读器 我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 -- 我们为记录思想 ...

  9. [转]为什么使用 Redis及其产品定位

    原文链接:http://www.infoq.com/cn/articles/tq-why-choose-redis 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据 ...

  10. wap,h5页面

    网址: 1:天猫(http://m.tmall.com) 2:淘宝(http://m.taobao.com) 3:京东(http://m.jd.com) 4:网易(http://3g.163.com) ...