当前位置: 首页 > 编程日记 > 正文

Android开发之程序猿必需要懂得Android的重要设计理念2(5.20更新版)

上篇文章介绍了Android开发的设计理念的一部分,并没有得到博友们的多大认可,仅仅看到了一位博友在以下留言期待下一篇文章的发表,为了这小小的唯一支持。我决定继续把后面的8个要点介绍一下,自己也潜心反省一下,自己的理解是不是太浅薄。

二、添加易用性

(6)一样的标志,一样的功能    

我们设计的程序应该帮助人们通过视觉辨别就能够轻松推断该图案或者button代表着如何的功能,能清晰的分辨出来,而不是让用户费劲脑筋的去猜想这个button可能代表什么功能。我们的程序应该极力避免一种情况,类似的图案或者button在不同的功能界面。却代表着不同的功能。这将会引起用户的混淆。



(7)不要打断用户的行为

我们的程序应该像个大明星的私人助理那样,时时刻刻为用户提供帮助,保护人们免受不重要的信息的干扰。我们的用户都希望保持专注,专注于自己想完毕的事情,我们的程序应该记住,除非是至关重要的警告,要不然就不要轻易中断用户的行为,加入一些不必要的得Dialog button,一个中断可能会引起用户的不愉快和厌恶。



三、使应用有趣

(1)让程序更easy学习

当我们的用户充分搞清楚应用的框架结构的时候。他们会自我感觉良好。我们应该添加我们程序的易用性。更easy上手。当我们开发完某种程序后。我们应该邀请大量的用户对我们的产品进行体验。去除多余的button,精简页面涵盖的信息。降低用户的视觉负担。此外,我们还要注意添加一些快捷button满足用户的经常使用需求。比如,返回的button就是一个非常好的导航捷径。

如今市场上非常多产品会出于各种原因,不得不设计帮助页面,以免用户在打开后不清楚应用的功能而放弃使用。

事实上这些页面在设计的时候就要考虑移动端用户的行为和使用情景。非常多用户根本没有那么多的时间去细致看说明,而是试图高速了解产品本身。有些应用甚至提供了8 9页的帮助内容,用户根本没有耐心去看,建议帮助页面不能超过3屏。



(2)用户永远是对的

请有礼貌的促使人们做出修正,友好的。当他们使用你的应用程序,用户希望感受到他们是聪明的。一下子就上手了我们设计的程序。操作流畅,会让他们充满自豪感。

假设出现错误,我们应该给明白的修正指令,而不是技术细节。假设我们能在背后修复这个bug,这样更好,而不是把错误抛给用户。

80%的用户没有耐心依据我们的提示修正错误,他们会做的就是删除我们的应用。


(3)给予用户鼓舞

我们的程序应该把复杂的任务分解成一步步的较小的步骤,让用户能够非常easy地完毕。此外我们的程序应该给用户实时反馈进度。比方说添加一个Progressdialog,即使它仅仅是一个细微的光芒,也会有着意向不到的效果。


(4)让用户变得专业

我们的程序最好能够让用户认为他们通过我们的程序能够完毕一些平时完毕不了的事情。比方一些仅仅有各方面的行业专职人员才干完毕的工作。比如比較火的美图秀秀,一个图片制作软件,能够仅仅须要简单的几个步骤。就能够将几张图片拼接在一起以及美化图片的效果等。



(5)我们的程序应分清主次

切记一点,我们的程序的功能应该有层次结构的。在我们的应用程序里。我们开发者应事先设计好什么是最重要的,对于这款应用来说是最核心的功能时什么,让哪些该功能更easy找到和高速使用。比方对于360相机而言,快门button是必须的;对于天天动听而言,音乐播放器的播放暂停button是关键的。

 好了谷歌官方文档介绍的android的开发设计理念写完了,在阅读了移动开发设计的相关书籍后我认为还有其它几个要点值得我们注意。

(6)内容优先,简化导航

在PC上的网页内容往往相对复杂,在进行内容移动化时,并不合适把内容直接照搬到手机端。在进行移动应用设计时,应该重组内容,使其符合移动应用的特征。


移动应用的内容应该是使用用户的语言。以用户熟悉的维度组织内容。这样更easy查找目标内容。提升内容的利用率;要考虑在小屏幕下的合理布局,此外一个应用提供给用户的信息往往是太多而不是太少,设计师的关注重点也会转移到让用户查找到内容,而忽略了用户想要获取的事实上是内容。而不是导航。

(7)结合手势的运用

在android开发中 我们还应该充分利用手势的交互,PC端中我们习惯了使用鼠标点击,由于其使用场景是坐在电脑前面,但是移动端的使用场景是多样的。有可能有时用户更习惯单手操作,结合各种手势的运用。但是使我们的产品的用户体验更加完好。android系统总共支持点击、长按、滑动、拖拽等6种手势。


手势的设计应该注意下面几点。

自然性:符合用户行为习惯。

可发现性:手势本身是隐藏的,怎样让用户发现和理解手势操作。

反馈:轻微的手势操作,也能时时反映给用户。

合适的:不用文化手势的意义不同

(8)拇指的可控范围

移动端根PC端非常大的差别是什么?PC端的使用场景仅仅有一个坐在电脑前,而移动端的使用场景可能就是多样的,有可能在赶去上班的路上,有可能是在等公交,甚至有可能在上厕所的时候。我们的用户在非常多的时候可能是一仅仅手来操控自己的手机,而随着智能手机的大屏化,大多数的人的拇指的可控范围是有限的,这也是疯传的iPhone6的谣言中为什么开机键要从手机顶端移动到屏幕右側的原因。这就是为什么,工具栏和导航条一般都在手机界面的下边缘——这跟我们在桌面界面中的惯例截然相反。这正是因为拇指可控范围有限导致的。在触摸屏上的界面设计与传统惯例相反,导航条和主要操作目标被放到了底部。

针对屏幕底部,拇指的热区进行设计。攻克了非常多用户的问题。这比“左撇子”用户的问题更加重要。由于这个社会上,右撇子还是占领大多数的。而差点儿每一个用户在使用手机时,都有过“单手持握。拇指操作”的经历。

(公交车上。一仅仅手扶好栏杆。还有一仅仅手操作手机)而屏幕底部的拇指法则,不管那仅仅手进行操作,都适用。

与此同一时候。它也给予设计师一些暗示:要如何组织操作目标的视觉层级,以给予用户最便捷舒适的体验。比如。按iOS的设计惯例,一般把编辑button放在右上角,即明显,又能避免由于误碰而导致界面突然改变。

(9)考虑用户的电量和流量

近期一段时间移动电源的销售量真的是一路高涨啊,原因非常easy随着手机的大屏化和娱乐化,电量根本不够用啊。不带着移动电源手机半天就没电了,所以我们在设计我们的产品的时候我们一定要考虑怎样降低我们的应用程序的耗电量,这点非常关键。如今金山电量检測软件都给软件排了一个耗电量等级。用户肯定喜欢的是一个轻巧的有用的软件。

流量就更不必多说了,坑爹的三大通信公司。

我想说两点(1)异步载入内容。最好有一些默认的载入动画,让用户降低等待时间的幻觉(2)让一些内容能够离线下载完毕,这样的像扎客等阅读软件,我认为就做的非常好。



该篇博文会时时更新,我会不断总结。大家有兴趣的还能够去看一下一系列的博文

Android开发之程序猿必需要懂得Android的重要设计理念1 点击打开链接

android 4.0 Design之设计规范十大革新 点击打开链接

Android 4.0 Design之UI设计易犯的错误1 点击打开链接

Android 4.0 Design之UI设计易犯的错误2 点击打开链接




相关文章:

Espresso小试

Espresso开源了,那就试着用一下, 1. 下载Espresso Espresso没有提供单独的jar包下载,建议clone整个项目或者下载zip包 git clone https://code.google.com/p/android-test-kit/ 或从这里下载:https://code.google.com/p/android-t…

XML与DataSet的相互转换类

送给大家一个XML与DataSet的相互转换的类:XmlDatasetConvert 该类提供了四种方法:1、将xml对象内容字符串转换为DataSet2、将xml文件转换为DataSet3、将DataSet转换为xml对象字符串4、将DataSet转换为xml文件 XmlDatasetConvert.csusing System;using System.Colle…

想学Python?那这套教程再适合不过了!

如果你想问最近这些年什么编程语言最值得学习,我相信很多人都会告诉你是Python!所以不仅是开发小白,甚至很多开发老手,也都开始学习Python,作为辅助第二语言来提高自己的职场竞争力。不过结合我最近这些年Python的学习…

修改360浏览器 标题栏 显示的文字

作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555qq.com E-mail: 313134555 qq.com 修改360浏览器 标题栏 显示的文字 dll修改 DLL(Dynamic Link Library)文件是一种常见的应用程序拓展,也叫动态链接库文件。若遇到一些已经…

联邦学习的隐忧:来自梯度的深度泄露

作者 | Ligeng Zhu and Song Han编译 | 对外经济贸易大学金融科技实验室头图 | 下载于视觉中国【编者按】数据交易流通是数据要素市场建立的关键环节。为了在推动数据流动的同时保护数据安全、个人信息和隐私,隐私计算技术因运而生。目前,该技术分为三个…

.net 中 using的几种用法

1. using指令。using 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。例如:using System; 一般…

少走弯路的10条忠告

如何在涉世之初少走弯路,有一个好的开端,开始一番成功的事业?以下是一些先行者积累的10条有益的涉世忠告。好好地遵循、把握这些忠告和建议吧,比起所学的课堂课程来,它毫不逊色! 1. 买个闹钟,以…

linux实战考试题:批量创建用户和密码(不能使用循环)

批量创建10个用户,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现。方法1:[rootoldboy /]# echo stu{01..10}|tr " " "\n"|sed …

路径,文件,目录,I/O常见操作汇总

摘要: 文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也…

Winform开发的界面处理优化

在Winform开发中,客户体验是个很好的参考性指标,如果一个功能使用的时候感觉很流畅,说明我们的程序执行效率还不错,但是随着数据的真多,原先可能流程的地方可能会变得比较卡,这时候就需要追本索源&#xff…

人工智能语音技术支持“多情感程度”调节,细腻演绎“人声”

近期,微软发布最新语音技术,支持“情感程度”轻松调节,令智能语音的情感表现力更加细腻可控。 人类的情感很大程度上体现于语音语调的微妙变化,比如一句“再见”,有时是平静而含蓄的,有时是开心而轻松的&a…

HDU 1431 素数回文

有人问我这个问题。个人感觉暴搜会TLE O(n*sqrt(n))。n100000000;(推断素数用2~sqrt(n)1 去除) 还是枚举好了。枚举 1~10000,把他每一位存下来,回文数已知 left 。求 right ,然后组合起来。比如 1 &#xf…

递归的妙用—遍历子控件

我们在ASP.NET编程中, 经常需要遍历一个Web控件的子控件 ,找到所需的控件并获取控件中相应的值。以前我都是采用循环的方式遍历子控件,但当子控件是复杂的树形结构,比如:子控件也有子控件,子控件的子控件也有子控件。这…

【原创】关于代码质量的打油诗

要想代码写得好,以下规则供参考:代码格式规范多,静态检查常做到。代码注释要工整,垃圾注释不可要。重要分支详注释,复杂逻辑拆分细。数据类型多注意,经常判空习惯好。常量类型须定义,魔幻数字要…

Java 开发技巧详细知识体系总结

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。又是新的一年,每一年都会有人在成为架构师的…

23-hadoop-hive的DDL和DML操作

跟mysql类似, hive也有 DDL, 和 DML操作 数据类型: https://cwiki.apache.org/confluence/display/Hive/LanguageManualDDL : primitive_type| array_type| map_type| struct_type| union_type -- (Note: Available in Hive 0.7.0 and later) primitive_type为基本类型, 包括:…

经典正则表达式

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 匹配中文字符的正则表达式: [/u4e00-/u9…

腾讯云TDSQL数据库核心技术理论取得进展 ,同时发布数据异常检测工具

近日,腾讯云和中国人民大学在数据库基础研究上有了进展,聚焦在“数据异常”领域,这是数据库可串行化理论体系中的重要概念。 数据异常是打开并发访问控制技术大门的金钥匙。在数据库行业中,以往只发现了10多种数据异常现象&#…

Android应用工程文件组成

src目录:java代码源文件。gen目录:R.java:静态内部类,系统自动生成,无需程序员维护。assets目录:资源目录,html,多媒体文件。bin目录:应用程序所生成的apk。res目录&…

matlab2014a + win764bit + vs2013混合编程(.m转成dll供C++调用)

在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C程序调用,这样就可以实现matlab和C混合编程的目的。 1. 使用matlab生成dll文件 1.1 首先需要带有mcc编译器的matlab软件,这个可以通过在matlab命令行中输入:!mcc命令来查看 1.2…

当前日期得到本周的开始和结束日期

/// <summary> /// 本周起止时间 /// </summary> /// <param name"dt"></param> /// <returns></returns> private string weekrange(System.DateTime dt) { int weeknow Convert.ToInt32(dt.DayOfWeek); int day…

分享一个mysql 复杂查询的例子

发布&#xff1a;脚本学堂/MySQL 编辑&#xff1a;thebaby 2013-08-23 09:37:37 【大 中 小】 有关mysql复杂查询的一个例子&#xff0c;正在学习mysql的朋友&#xff0c;可以作为一个参考。在mysql中&#xff0c;LOCATE(dmin,email)1 表示dmi字符在email字符中出现的索引位…

百度携手同济大学,瞄准AI、智慧交通等核心科技领域攻关

4月14日&#xff0c;百度与同济大学在上海举行了战略合作框架协议签约仪式。百度与同济大学将围绕人工智能、智慧交通等方面&#xff0c;共同开展科研攻关&#xff0c;创造AI技术及产业交流平台、搭建AI应用人才培养机制&#xff0c;力争取得基础理论和关键核心技术的突破。 签…

怎样做才是最优雅方式切换 web 项目数据源 ?

随着业务变迁/需求变更&#xff0c;JavaEE 应用中会被迫连接多个数据源进行业务处理。 怎样在不影响原有项目结构的情况下&#xff0c;已最优雅/最简洁的方式动态切换数据源呢&#xff1f; 本文已一次添加数据源后动态切换实践为例&#xff0c;描述整个思考和实践过程&#xff…

C#开发编码规范

C#开发编码规范 注记&#xff1a;Pascal 大小写形式——所有单词第一个字母大写&#xff0c;其他字母小写。Camel 大小写形式——除了第一个单词&#xff0c;所有单词第一个字母大写&#xff0c;其他字母小写。类名使用Pascal大小写形式 public class HelloWorld{ …}方法使用…

【原创】如何分析一个网站使用的服务器类型

如何知道一个网站使用的是什么类型的服务器呢&#xff1f;如其前端使用的是apache呢还是iis呢还是nginx呢还是其他呢&#xff1f;中间件使用的是什么呢&#xff1f;有以下几种方法&#xff1a; 首先说原理&#xff1a;http协议的头部提供了丰富的信息告诉我们一些信息&#xff…

想学Python?那这套教程再适合你不过了!!

如果你想问最近这些年什么编程语言最值得学习&#xff0c;我相信很多人都会告诉你是Python&#xff01;所以不仅是开发小白&#xff0c;甚至很多开发老手&#xff0c;也都开始学习Python&#xff0c;作为辅助第二语言来提高自己的职场竞争力。不过结合我最近这些年Python的学习…

Java compiler level does not match the version of the installed Java project facet.

2019独角兽企业重金招聘Python工程师标准>>> 解决方式&#xff1a;右击项目点击>>选择对应的版本就好、&#xff01; 转载于:https://my.oschina.net/liusonghuang/blog/1512115

【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类...

目录&#xff1a; 【C#小知识】C#中一些易混淆概念总结 【C#小知识】C#中一些易混淆概念总结&#xff08;二&#xff09; ---------------------------------------分割线---------------------------------------------- 一&#xff0c;C#中结构 在C#中可以使用struct关键字来…

C#精髓【月儿原创】第一讲 使用垃圾回收器

说明&#xff1a;准备出一个系列&#xff0c;所谓精髓讲C#语言要点。这个系列没有先后顺序&#xff0c;不过尽量做到精。可能会不断增删整理&#xff0c;本系列最原始出处是csdn博客,谢谢关注。 C#精髓 第一讲 使用垃圾回收器 作者&#xff1a;清清月儿 主页&#xff1a;h…