扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
《Android程序设计 第二版》(Zigurd Mednieks)电子书网盘下载免费在线阅读
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了关岭免费建站欢迎大家使用!
链接:
提取码: vsd2
书名:Android程序设计 第二版
作者:Zigurd Mednieks
出版社:机械工业出版社
出版年份:2014-6
页数:493
移动领域的两大风向标--Android和iOS,也是移动应用设计时最大的两个竞争对手。Android与iOS在市场份额、受欢迎程度、使用人口统计方面数据不相上下,在这里,我们对比了Android和iOS之间的简单设计差异,这将帮助我们弄清一个与另一个有何不同。
由于碎片化的原因,安卓系统的应用设计会有细微的差异。
我们先来了解一下Android与iOS UI应用设计在扁平化设计和材质设计方面的对比。
人机界面指南主要基于三个原则。清晰、尊重和深度。简单来说,该方法支持极简主义,使用简洁的元素,注重排版和扁平化色彩。
简而言之,Android Material Design被认为是Flat设计的升级版,带有拟态性(一种流行的设计概念,即让所代表的物品与现实世界中的对应物相似)。
用Google设计副总裁 MatíasDuarte 的话来说,它是–
有了这些基础知识,让我们从7个方面研究两个平台之间的差异。
目录
1. 导航
2. 按钮
3. 图标和屏幕分辨率
4. 字体
5. 控件
6. 卡片
7. 警报
对于iOS应用程序,总是在“后退”按钮旁边提示上一个选项卡的名称。在中间,显示当前选项卡的名称,而在右上角则显示“编辑”或“完成”(控制按钮)。
说到Android的设计规则,应用程序通常在抽屉菜单或后退按钮(可选)之后的左上角显示标题。移至右上方,总是有一个操作项,例如搜索图标(也可以是多个,例如“收藏夹”图标),其后是溢出菜单。
在iOS中,主导航始终显示在底部,功能菜单专门用于存储一次性功能。而在Android中,通常会在功能菜单中看到主要导航,或者以搜索栏,浮动操作按钮等形式在整个界面中存在。
ios界面指南中,没有类似抽屉导航菜单的标准控件。iOS的全局导航被放置在应用屏幕的底部,一般位于最末位的 "更多"标签下找到二级导航。
Android中,二次导航是一个抽屉,一旦按下功能菜单图标,就会从左到右打开,同时产生一个深色的遮罩层。
有四种方法可以在iOS应用中实现“后退”操作:
在某些情况下,Android应用程序中给出了类似后退的操作,您可以通过该操作进入前一个标签。但是,最常见和最简单的方法是使用导航栏中的后退按钮(Android 10中现在是可选的)。
iOS和Android中的按钮风格最主要的设计区别在于,iOS中的按钮遵循扁平化的设计模式,不带阴影、支持标题大小写。Android遵循Material Design,带阴影且字母大写。
另一个比较重要的按钮是Floating action button(FAB行动呼吁按钮)。例如安卓系统中Gmail的compose按钮,iOS系统中社交媒体应用的新建文章按钮。
两种系统都使用8dp的网格来构建屏幕结构,而最常见的边框是16dp。
在开发移动应用程序时,以预定义的尺寸设计图标是非常关键的。这里有一个表,描述了所有的测量。
这些表格一开始可能会让人有点不知所措,但是如果你知道基本尺寸,并且能够使用倍数进行检查和导出,会发现这并不复杂。
多年来,苹果一直是Helvetica Neue字体的粉丝,然而在2015年,苹果开始使用San Francisco,它更节省空间,非常适合手机、台式机和iOS Watch使用。
Android系统,一直使用Roboto作为标准系统字体。在可预见的未来,谷歌也没有计划改变这一深受喜爱的元素。
控件设计包含搜索、CTA按钮、选择控件和标签等元素。每一个都满足了这样或那样的目的,让我们来看看他们的位置。
搜索功能对于两个平台来说都非常重要,苹果最近还在iMessage中加入了 "搜索栏 "。
在苹果中,搜索选项有两种类型--突出和隐藏。通常情况下,搜索图标会显示在上边的选项卡上,而有时需要从上到下拖动屏幕才能显示搜索栏。此外,如果要取消搜索查询,可以按 "取消",如果要清除,可以用 "X"。
在安卓系统中,没有隐藏的搜索栏,你总能在上层标签中找到一个。如果要取消搜索,只需点击"←"图标即可,如果要清除查询,则和iOS中的一样。
浮动的动作按钮(FAB)在Android中充当主要行动按钮,可以出现在顶部应用栏或一些组件的边缘。而iOS应用中的主要行动按钮总是出现在页面的右上角。
不过也有一些例外,少数iOS会在底部工具栏显示CTA,而Android则在上部工具栏显示。
如果需要显示一些选项,可以在iOS平台上使用选取器控件,选取器一般出现在底部。
对于在Android平台上显示很少的选项,通常使用一个出现在原地的下拉菜单,或者一个出现在中心的模态对话框,使用模态框时应用背景变暗。
据观察,iOS系统并没有一个视觉上类似于 "标签"的控件。它使用的是一个分段的按钮。Android使用了"扁平化设计的tab"来实现同样的效果。
卡片是图片、文字、视频的集合,还包括按钮和评论。
在iOS中,卡片的特点是无阴影、全宽、无圆角。而在安卓系统中,卡片的设计有阴影、沟槽、圆角等功能。
安卓系统的提醒采用的是扁平化的按钮样式,具体尺寸可以在材质设计指南中找到。操作按钮被放置在提醒的右下角。这些 "按钮 "完全以文字为主(全大写),让用户更容易理解。
至于iOS系统的提醒,则是用分割线隔开。它们基本采用句子或标题的形式,在独立的区块中呈现。它们被放置在弹出窗口的中心。
本文涵盖了iOS和Android所有的初步差异,希望对你有所帮助,而设计一个iOS或Android的移动应用,总是有迭代的准则,所以,一定要保持信息的更新,及时调整自己的产品设计。
Q. 为什么iOS和Android上的应用看起来不一样?
品牌和意识形态的不同,已经波及到他们的操作系统的运作方式。两个平台的UI设计已经成为品牌的符号化。
Q. 如何设计一个原生应用?
在设计原生应用时,必须始终遵守iOS UI应用设计指南和Material设计指南。这样才能使应用与它所要针对的平台同步。另外,这些平台有不同的要求,所以你的应用必须满足它们才能在应用商店上发布。
Q. iOS比Android更方便用户使用吗?
这个问题的答案是纯主观的。它是基于用户的个人偏好。有些人可能会觉得iOS更实用,而有些人则在各方面都偏爱Android。
《Android程序设计》(Zigurd Mednieks)电子书网盘下载免费在线阅读
链接:
提取码:7bx5
书名:Android程序设计
作者:Zigurd Mednieks
译者:祝洪凯
出版社:机械工业出版社华章公司
出版年份:2013-3-1
页数:456
内容简介:
如何才能构建设计良好的Android应用?通过本书提供的权威指南,深入探索Android核心模块及其API,了解如何创建可以运行在一系列Android设备上的出色的应用软件。本书将带你探索行之有效的应用设计和实施方式,包括一些应用框架,你可以把这些框架作为自己项目的起始点。
深入传感器、本地开发、3D图形和许多其他主题,并发现如何在选择的平台上构建应用程序。如果你要进阶到高级程序员,你将学会如何创建良好的Android应用程序。
作者简介:
Zigurd Mednieks是领先的OEM、企业和创建基于Android系统的创业投资顾问。
Laird Dornin是一家大型无线运营商的高级工程师,在Java、Android、J2ME、SavaJe和WebKit方面有丰富的经验。
G.Blake Meike是一位经验丰富的开发人员,为移动和服务端平台构建Java应用有丰富的经验。
Masumi Nakamura是Where Inc.的Big Data和Recommendations组的首席架构师。
互联网移动设备已经普及,Android,一个开放性平台,对于各科技公司吸引力在持续上升,这不只是体现在翻倍上升的Android手机销量上,Android市场在被迅猛的拓展开。
学习Android开发渐渐成为一种潮流。
那么,盐城电脑培训介绍学习Android开发要具备哪些基础呢?首先要熟悉学习Android开发要具备哪些基础知识。
Java作为学习Android开发的基础编程语言,掌握Java开发基础知识是非常重要的。
另外,还要重点掌握针对Android平台而特有的Activity、Service、Broadcast、ContentProvider、Handler等知识。
在学习Android开发时还应该了解Android的开发工具。
学习关于AndroidSDK的相关知识。
AndroidSDK内含一整套工具,能够利于构建应用程序、设计图形及布局。
另外一些工具能够帮助进行性能的调优和剖析。
可见,掌握开发工具是非常必要的。
学习过程中,要时刻调整自己的学习状态。
不要认为Android开发大多应用在Android手机上,做的都是小项目。
其实,一个成功的项目开发必须有完整的流程,要有详细的规范、进度,专业的工程师和设计师,还要有测试人员以及后期维护等。
仅仅停留在基础技能范畴,肯定是不能满足的。
要想具备开发项目的能力,就要多学习,积累经验。
1. 说明
android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据,以下将说明他们的工具流程
2. 举例说明基本流程
以android系统支持sensor(传感器)实例来说明框架层的service和manager是如何配合工作的
1) 什么是sensor
sensor是传感器, 比如控制横竖屏切换利用的就是重力传感器(gsensor), 还有accelerator sensor可取得x, y, z三个轴上的加速度(应用如平衡球, 小猴吃香蕉等)
2) 应用程序调用(以下为关键代码)
sensorManager=(SensorManager)getSystemService(context.SENSOR_SERVICE);
lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
sensorManager.registerListener(sensorListener, lightSensor, SensorManager.SENSOR_DELAY_NORMAL);
3) Manager层
a) 提供给应用程序调用的接口,同实与Service交互,实现功能
frameworks/base/core/java/android/hardware/SensorManager.java
4) Service层
a) 开机时就运行的管理Sensor的后台服务
frameworks/base/services/java/com/android/server/SensorService.java
b) snesor后台服务需要的JNI,通过它与系统级交互
frameworks/base/services/jni/com_android_server_SensorService.cpp
5) 系统层
a) 传感器的头文件,硬件提供商按此文件的定义实现其功能
hardware/libhardware/include/hardware/sensors.h
b) 传感器的系统层实现,与内核交互,此处通常是硬件提供商提供的
hareware/libsensors
6) 内核及硬件层
内核访问硬件,同时以设备文件等方式提供给上层控制接口和传感器数据
3. 系统层实现
1) frameworks/base/core/java/android/*Manager.java 对应用的接口
2) frameworks/base/core/jni/ 对应用的接口的JNI
3) frameworks/base/services/java/com/android/server/ 后台服务
4) frameworks/base/services/jni/ JNI与系统层接口
5) hardware/libhardware/include/ 系统层头文件
6) hardware/libxxx 系统库支持
7) 内核支持
4. 应用程序如何使用
1) 查看系统提供哪些服务
find frameworks/base/core/java/android/ -name *Manager.java
此处可以看到调用系统提供服务的入口
2) 一般register listener,事件发生时都收到回调
5. 新建一个service(以froyo为例)
1) 接口:接口供应用调用
frameworks/base/core/java/android/app/ContextImpl.java 加服务名与Manager对应
frameworks/base/core/java/android/content/Context.java 加服务名定义
2) Manager:提供服务对应的调用接口
frameworks/base/core/java/android/app/StartXXXXManager.java 实现调用接口
frameworks/base/core/java/android/app/IXXXXManager.aidl 定义调用接口
frameworks/base/Android.mk 加入aidl的编译
3) service:提供后台服务支持
frameworks/base/services/java/com/android/server/XXXXService.java 服务实现
frameworks/base/services/java/com/android/server/SystemServer.java 启动服务
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流