基本信息
- 原书名:Smashing Android UI:Responsive User Interfaces and Design Patterns for Android Phones and Tablets
- 原出版社: Wiley
- 作者: Juhani Lehtimki
- 译者: 王东明
- 丛书名: 华章程序员书库
- 出版社:机械工业出版社
- ISBN:9787111435891
- 上架时间:2014-10-23
- 出版日期:2013 年10月
- 开本:16开
- 页码:247
- 版次:1-1
- 所属分类:计算机 > 图形图像、多媒体、网页制作 > UI/交互设计

编辑推荐
Andriod UI设计领域的经典著作,Amazon五星级畅销书,内容系统全面,实战性极强,包含大量最佳实践
不仅详细讲解了Android应用UI设计需要掌握的Android平台相关的各项技术和特性,而且还全面总结了Android应用UI设计的方法、技巧、模式以及反模式
内容简介
计算机书籍
《精彩绝伦的Android UI设计:响应式用户界面与设计模式》是Andriod UI设计领域的经典著作,Amazon五星级畅销书。不仅从Android应用设计者的角度系统讲解了要从事Android UI设计必须要掌握的Android平台的所有技术和特性,还从Android应用开发者的角度全面总结了Android UI设计的方法、技巧、模式、反模式,以及如何实现响应式用户界面设计。本书共21章,分为四部分。第一部分(第1~4章)讲述用户界面设计、用户界面设计的工具、移动设备和触摸设备的设计,并探讨Android平台;第二部分(第5~11章)介绍 Android的应用架构和在线指南、Android的意图系统、Android应用的导航结构、主界面应用小部件、通知、物理按键、输入法和传感器设计,以及平台用户界面组件设计;第三部分(第12~16章)讨论 Android资源的管理、Android应用的布局、可缩放的图形、响应式设计,以及如何实现响应式用户界面;第四部分(第17~21章)阐述用户界面设计模式、用户操作设计模式、导航和布局设计模式、数据设计模式以及用户界面设计的反模式。
作译者
目录
译者序
前言
第一部分 Android设计简介
第1章 用户界面设计和易用性入门 2
1.1 考虑技术与设计 2
1.2 理解心智模型 3
1.3 为用户设计 6
1.4 没有应用无所不精,选择适合自己的领域 9
1.5 你是专家,用户不是设计师 9
1.6 了解用户,为普通人设计 9
1.7 总结 11
第2章 不要马上开始编程 12
2.1 原型设计 12
2.2 设计工具 14
2.3 用户测试 17
2.4 总结 20
第3章 考虑为移动和触摸设备设计 21
3.1 为移动而设计 21
3.2 为触摸界面设计 26
译者序
本书比较适合希望学习设计知识的Android开发人员以及希望了解Android技术知识的设计人员。因为本书涉及的技术非常基础,包含的代码也相当简单,所以设计人员在看本书的时候丝毫不会感到任何阻碍。通过阅读本书,设计人员能够了解Android平台的一些技术知识,通过对这些知识的学习,可以更好地实现针对Android平台的应用设计,不用照搬其他智能手机平台的设计,从而制作出具备浓郁Android风格的界面和交互设计。对于开发人员,熟悉符合Android的设计原则可以减少与设计人员的沟通成本,知道这样设计的优点,了解用户的使用习惯,从而可以在代码层面上更好地实现应用程序,进而创建用户易于使用的优秀应用程序。不过,正是因为兼顾了设计人员,所以本书涉及的技术知识都很浅显易懂,这些对于设计人员来说已经足够,但是对于开发人员还远远不够,所以我建议开发人员阅读完本书之后,再根据实际情况,找到相关知识点对应的其他技术书籍补充知识,这样才能更好地实现本书中的各类设计。
本书的结构非常科学、合理,首先讲解用户界面设计的入门知识,然后概览Android平台,接着又介绍Android界面的主要特性和各类UI组件,最后讨论Android设计模式和反模式。这种组织方法由浅入深,易于理解,相信读者可以从中获得一个很好的阅读体验。
为了行文流畅不夹杂过多的英文单词,译文中将绝大部分英语专业词汇翻译成中文,有一些没有统一译法的词汇大家看起来可能比较陌生,比如,将intent译为“意图”。所以在专业词汇第一次出现的时候,都加注了对应的英文,方便大家对照。
本书的翻译过程中得到了很多人的帮助,尤其要感谢仝鹏飞先生对部分译文提出了非常专业的建议。特别感谢谢晓芳编辑在本书翻译过程中的大力支持,对译者不明白的问题给予了耐心细致的解答并督促译者的翻译进度,此书才得以顺利出版。
鉴于译者水平有限,书中难免还有一些翻译不准确甚至译错的地方,恳请广大读者谅解,同时欢迎读者批评指正,共同进步。
王东明
前言
本书将会帮助你朝着提升自己Android知识的方向迈进。本书并非通篇旨在讲述Android开发,而是基于你现有的知识,帮助你了解如何让应用的用户体验更好。
对于那些也许并不熟悉用户界面设计的开发者来说,本书将会概述一些工具和技巧,你可以运用它们来确定用户想要什么样的界面并评估应用的易用性。
对于设计者来说,阅读本书会让你从整体上对Android用户界面有一个良好的认识。你将会看到大部分可用的默认组件并了解开发者如何使用它们。本书帮助你将自己对Android平台的了解与开发者结合起来,这样更容易与开发者进行团结协作,从而构建可缩放并且响应式的用户界面。
不需要为Android的碎片化问题感到担心,相反,你应该将其视为一个机会。本书阐述了如何应对设计和开发挑战,让你的应用不但可以运行在智能手机上,而且可以运行在平板电脑上。你将会学习到如何让应用适配屏幕大小各异的终端,充分利用屏幕的实际空间,为用户提供最佳的用户体验,而不用操心设备的问题。
本书主要内容
本书阐述了Android平台为你提供了什么功能。我将会说明如何以及何时使用它自身提供的组件。Android平台及其文档极其庞大。面对如此庞大的信息量,刚开始查找有用的信息时经常不知所措。本书旨在帮助你了解自己需要什么信息以及需要注意什么。你会了解哪些组件曾经被其他人用来构建精彩应用并学会如何以及在什么场景中使用它们。
从设计到实现,本书介绍了你需要做哪些工作来让应用适配数目巨大的终端。你将会逐渐了解响应式设计的含义以及为什么它在Android平台上作用巨大。
本书还讨论了Android用户界面的设计模式和反模式。这些都是关于Android用户界面设计的注意事项。设计模式可以让你学习他人的长处并给予你设计和开发的思路。
第一部分
本书第一部分将以用户为中心的方法论和Android平台作为一个整体进行介绍。这部分对开发者和设计者都适用。开发者可能已熟悉Android平台,但是也许对如何在制作应用项目的早期就让用户参与进来的过程并不是很了解。在项目的早期就让用户参与进来可以帮助你明确想要创建一款什么样的应用,以及用户将会如何使用这款应用。把这一部分工作做好可以帮助你专注最重要的功能,从而防止所谓的“功能蔓延”的问题,这种问题将会导致你的应用逐渐变得臃肿不堪。
部分设计者和开发者对于Android平台没有一个清晰的认识,它的复杂性(比如,著名的碎片化问题)和各式各样的终端设备。如果你刚好可以对号入座,那么这一部分也会为你展示Android平台光彩夺目的一面。
第二部分
第二部分进一步介绍了Android平台,阐述了Android应用的架构以及模块之间如何通信。这部分也将展示可用的用户界面组件以及用法。
第三部分
第三部分深入讲解了灵活的Android设计,以及如何让你的应用运行在所有的终端设备上,从智能手机到平板电脑。
第四部分
本书最后一部分通过用户界面设计模式和反模式,讨论了Android平台用户界面上该做和不该做的原则。
安装配套应用
本书有一款配套应用,可以安装在Android设备上,在你阅读本书时,可以通过这款应用浏览书中的例子。这款应用囊括了本书所有的例子,通过体验这些示例程序,能让你更轻松地明白书中的概念并能够看到这些例子在实际中如何在自己的设备上运行。
书摘
Android设计简介
第1章用户界面设计和易用性入门
一款应用(app)最重要的品质就是易用性(usability)。如果用户不知如何得到它,或者不清楚如何使用,那么这个应用做得再有特色也无济于事。在移动应用市场残酷的环境下,用户几乎总能找到替代品。如果一款应用不能让人感觉良好,或者用户不知道如何使用它的主要功能,那么用户极有可能卸载这款应用,不会给它第二次机会。
用户通过用户界面(UI)来操作和浏览你的应用,除此之外的一切元素,也都会在用户界面中反映出来。假如一款应用的杀手级特性提供了下一代云通信技术(或者应用包含任何其他一些了不起的功能),但是并不直观,那么你会面临花费了大把的时间,却构建了用户甚至都没有尝试过的一些功能的风险。
想要把用户界面做好,需要在设计上下工夫。本章介绍的一些概念和观点可以让读者更轻松地理解在设计上投资的重要性。本章还阐述设计过程中的一些重要概念并提供了一些想法,旨在让用户成为设计过程中不可或缺的一部分。
1.1考虑技术与设计
用户界面设计不是一门精密科学,它也不会自动生成。它需要努力付出并投入资金。我职业生涯中的绝大多数时间都是在技术驱动的公司里度过,也就是所谓的开发者工作室。几乎在整个职业生涯应用的制作过程中,我都不得不争取要求加入设计依据。几乎所有雇用设计者或者让设计者参与进来的请求要么被回绝要么被严重误解。在一些公司里,认为设计者是画图标的人。在另一些公司里,认为设计者的存在就是浪费金钱和时间。在这些公司中,工程师或者产品团队经常自己做设计;有的时候设计源于偶然。尽管不同的项目会有各种各样的结局,但是始终都缺乏设计。产品在工程师眼中简单易用,但工程师无法理解为什么用户不能像他们所期待的那样使用这款产品。技术团队通常会这样说:“那个按钮明明就在那里,用户应该知道如何使用它。他们太笨了!”
我也曾经在另一种极端的公司工作过。所有的工作都是设计驱动的,只有设计者参与早期的客户见面会,选用的技术也没有参考团队的技术特点。设计工作用Adobe Photoshop和InDesign实现,并没有考虑到技术的可行性,这将把技术团队逼入绝境,他们无法完成设计者想要的设计。
两种极端都不可取。在这两种情况下,初衷与结果都将大相径庭。我也有幸参与了所有的工作都做得恰到好处的一些项目。与懂得软件工程并不是简单编程的设计者或者设计团队一起工作,并且拥有一支认可用户交互设计和视觉设计能够创造绝妙设计的开发团队。设计人员与开发人员密切协作所创造的价值远远大于他们各自创造的价值。
致开发人员——用户与你的思维方式并不一样!有人已经学习过用户界面相关的知识并做出了专业的设计。不要认为你做了相关的工作就不需要用户。用户知道如何操作你的用户界面证明不了什么,不会操作相同用户界面的用户也不能证明他们愚笨。用户不会用,说明用户界面设计得很糟糕。设计人员了解用户界面的结构,他们也懂得如何测试并验证这种设计是优秀的。信任你的设计师们,他们不会因为怀有恶意或者想让你更努力工作而提出用户界面修改意见,他们想要修改界面是因为这些修改可以让用户体验更好。
致设计人员——软件工程并非单单只是编程。事实上,编程仅仅占开发者的一小部分时间。制作成功的软件产品需要谨慎的计划、架构设计、对象关系设计、模块组件设计、数据库设计、可维护性计划、部署、质量保证等其他事宜。如果你知道怎样写脚本,那这将是一个很好的开端。但是写脚本并不是软件开发。基于Photoshop制作的用户界面示意图来制作一款合格的软件产品并不简单,这需要时间、计划,尤其是经验!相信你的开发人员,他们没有花费大量时间来制作一个界面不是因为他们懒惰。他们把时间花在计划上,是为了让程序运行更流畅也更容易维护。这样整个团队就可以一起调整完善用户界面,修改也不会令人不知所措。
1.2理解心智模型
现在应该换个方向,从用户的角度考虑应用。当用户第一次看到你的应用或者当用户再次使用这个应用的时候,他们的脑海里会呈现出什么?本节介绍一个非常重要的概念——心智模型(mental model)。
心智模型是用户在大脑中对应用的功能形成的模型。事实上,人们面对所有事物的时候都会这么做。当我们学习如何开车的时候,我们会对车辆如何工作建立一种心智模型。这种模型并不一定要在技术上是正确的才能使司机受益。比如,实际上,在现代汽车中,方向盘没有直接与前轮相连,但这并不重要。我们还是可以假设它们连在一起。我们可以想象,当转动方向盘的时候,会带动一系列的齿轮旋转,最终让前轮转变方向。尽管这个模型在技术上做了简化,但是可以帮助我们理解和模拟在驾驶汽车时,车辆是如何工作的。在我们的心智模型中,转动方向盘与现实世界中转动方向盘的效果一致,所以在现实生活中按照此心智模型驾驶一辆汽车完全没有问题。我们认为自己明白了车辆如何工作,感到非常高兴。
人们在使用应用的时候,也认同一样的道理。对于用户来说,能让他们在脑海里模拟程序的功能,预测会在何时发生什么非常重要。心智模型是用户界面设计中极其重要的概念之一。用户界面设计必须支持用户的心智模型,同时应用要做到风格一致,功能可预测。
如果应用与用户的心智模型保持一致,那么这款应用将会易于使用。如果用户能非常轻松地对这款应用建立心智模型,说明这款应用是直观的。用户界面设计中的每件事归根到底都与用户的心智模型有关,每个与用户体验有关的问题,都是由于此应用的用户心智模型与应用的实际表现不一致而导致的。
1.2.1构建心智模型
在现实生活中,能够通过简单观察物体外表推断出物体的许多物理属性。你会知道它们有多重,知道通过什么方法使用它们,还知道用什么方法不奏效。对于实体来说,你可以通过亲身体验来确定它们如何工作。
当你使用软件时,会受到像素的影响。如何确定用户们知道哪些功能怎样使用?理论上,问题的答案非常简单,但是在实际中困难重重。你需要引导用户,用户界面必须富有逻辑性,并且包含界面中的各项功能是如何工作的视觉线索。