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

 
在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. Python 9X9乘法口诀表

    #乘法口诀 for i in range(1,10): for j in range(1,i+1): print ( j,'*',i,'=',j*i,'',' ',end='') print(end= ...

  2. 有效提高win7电脑网速50倍

    有效提高win7电脑网速50倍 目前有多少人在使用Windows7?据统计微软已成功售出3.5亿份正版操作系统,加上市场上流传以Win7旗舰版为首的盗版Win7系统下载,Win7激活次数可能已经超过1 ...

  3. windows7安装python2.7及scrapy

    http://www.cnblogs.com/txw1958/archive/2012/07/12/scrapy_installation_introduce.html 第0步:当然是安装python ...

  4. DEV word文档转换为pdf文件

    引用aspose.net控件2.0. docement doc=new document(文件路径和名称); doc.save(输出路径\file.pdf);

  5. 游标的使用之压缩数据库Log文件

    declare @databasename nvarchar(100)--定义游标以及赋值 获取所有Online的Database Namedeclare getDataBaseCursor  cur ...

  6. Jquery基础知识

    //使用$操作得到的对象,都是Jquery对象 如何把Jquery对象转换成dom对象?$abc 方法1:var div = $div.get(0) 方法2:var div = $div[0] 如何把 ...

  7. python configparser模块

    来看一个好多软件的常见文档格式如下: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 Forward ...

  8. SQL关于limit的用法

    SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset    在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时 ...

  9. 【Mail】telnet收发邮件过程

    telnet发送邮件 关于电子邮件的基础知识请参照:[Mail]邮件的基础知识和原理 smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协 ...

  10. 00024500-0000-0000-C000-000000000046错误,在sys.web配置节添加一个用户给web站点。

    <identity impersonate ="true" userName="administrator" password="123456& ...