850 likes | 1.11k Views
网络应用实战培训. Android 互联网技术. 主讲人:. 唐傲 王昊禹 孙韶言. 自我介绍. 唐傲 中国科大 2008 级 6 系本科, 2012 级研究生 中国科大 - 微软联合培养项目在读博士 轻约会创始人 & 维沙团队创始人 王昊禹 中国科大 2008 级 6 系本科, 2012 级研究生 轻约会 Android 开发工程师 & 维沙团队核心成员 孙韶言 中国科大 2008 级 6 系本科, 2012 级研究生 轻约会 Android 开发经理 & 维沙团队核心成员. 移动互联网. Android 开发基础. Android 技术纵览.
E N D
Android互联网技术 主讲人: 唐傲 王昊禹 孙韶言
自我介绍 • 唐傲 • 中国科大2008级6系本科,2012级研究生 • 中国科大-微软联合培养项目在读博士 • 轻约会创始人&维沙团队创始人 • 王昊禹 • 中国科大2008级6系本科,2012级研究生 • 轻约会Android开发工程师&维沙团队核心成员 • 孙韶言 • 中国科大2008级6系本科,2012级研究生 • 轻约会Android开发经理&维沙团队核心成员
移动互联网 Android开发基础 Android技术纵览
Part 1: 移动互联网 唐 傲
五年前我一直在说,移动互联网是未来,移动互联网比PC互联网大十倍!但那时候没人信。如今的发展越来越证明了我的预言,移动互联网有便捷、即时、高黏度等一系列得天独厚的优势,移动互联才是未来的趋势。五年前我一直在说,移动互联网是未来,移动互联网比PC互联网大十倍!但那时候没人信。如今的发展越来越证明了我的预言,移动互联网有便捷、即时、高黏度等一系列得天独厚的优势,移动互联才是未来的趋势。 雷军
移动互联网应用 • No Network • 打电话 • 发短信 • 玩游戏 • 时钟(闹铃,计时) • 拍照 • 听歌、看电影 • 。。。。。。
Android修炼之道 • 学会偷懒 • 学会Android程序架构,MVC,常见的设计模式,控制反转(IoC) • 学习编写漂亮的代码 • 学习编写高效的代码 • 学习至少一门服务器脚本语言
修炼之道——学会偷懒 • If I have been able to see further, it was only because I stood on the shoulders of the giants. • Give me a place to stand on, and I can move the earth.
修炼之道——控制反转 • 控制反转(IoC)本身是一种设计模式 • 面向对象编程的法则 • 削减计算机程序的耦合问题
修炼之道——漂亮的代码 • 可重用 • 可扩展 • 可维护 • 灵活性高
修炼之道——高效的代码 • 不做不必要的事 • 不分配不必要的内存 • 理解程序运用原理 • 尽可能少的建立对象 • 使用本地方法 • 使用实类比接口好 • 静态方法比虚方法好 • 使用常量final • 谨慎使用foreach
修炼之道——服务器语言 • 服务器脚本语言: • PHP, JSP, ASP, ASP.NET • Python, Perl
FAQ • 讲座能速成吗? • 速成的有好货吗? • 如何下手? • 没上过战场的士兵不算真正的士兵
你能获得什么? • 如何开发一个Android应用 • 如何开发一个Android互联网应用 • 如果以上你已经都知道了 • 你能学到很多有趣的东西 • 你能学到很多书本上没有的东西 • 你能学到很多别人知道也不会告诉你的东西 • 不同凡响的Android开发之旅
Outline • UI控件 • 窗体(Activity) • MVC框架 • 模型层技术 • 反反编译与签名 • 团队协作 • Demo演示
UI设计基础和规范 • 开始 - Get Started • 风格 - Style • 模式 - Patterns • 控件 - Building Blocks
Get Started - UI Overview • UI - User Interface • Android 的系统 UI 为构建您自己的应用提供了基础的框架。主要包括 • 主屏幕 (Home Screen) • 系统栏(System Bars) • 通知系统(Notifications)
Get Started - Creative Vision • 当您在设计 Android 应用时,在设计上首要专注于三个目标 • 使我着迷 • 简化我的生活 • 让我感到惊奇
Get Started - Creative Vision 简化我的生活 Simplify My Life 保持简洁 没事儿别打断我 不要弄丢我的东西 让我知道现在在哪儿 看起来一样的话,行为也要一样 帮我做决定,但让我来拍板 图片比文字更好 只展示我所需要的 好的应用就像一个好的个人助理,帮助人们摆脱各种琐事。用户不喜欢被骚扰,只在紧急情况下才打断他们 使用简单的短语。如果句子很长,人们总是会忽略它们 尽量使用图片去解释想法。图片可以吸引人们注意并且更容易理解 将人们花时间做出来的东西保存起来,并且可以随时随地获取。记住设置和用户习惯,在手机、平板和各个电脑间同步。使升级变成地球上最容易的事情 首先尝试猜测用户的选择并直接切入正题,而不是询问用户。太多的选择和决定使人们感到不爽。但是万一猜错了,允许“撤销”操作 人们在同时看到许多选择时就会手足无措。分解任务和信息,使它们更容易理解。将当前不重要的选项隐藏起来,并让人们慢慢学习 让人们很容易了解现在的位置。使您应用中的页面看起来都不太一样,同时使用一些切换动画体现页面之间的关系。进行中的任务,要提供一些反馈信息(比如进度条) 通过设计的不同,帮助人们认识到在功能上的不同。不要使看起来相同的页面在相同的输入下却得到不同的结果
Get Started - Creative Vision 让我感到惊奇 Make Me Amazing 分清主次 支持通用的小技巧 给予鼓励 帮我做复杂的事情 错不在用户 通过完成本来自己无法完成的任务,让新手觉得自己像个专家一样。例如,通过几个简单步骤,加入几种照片特效,就能使得摄影新手的照片也很出色 不是所有的操作都一样重要。事先决定好您的应用中什么是最重要的,并且使这个功能容易找到和使用,例如相机的快门和音乐播放器的暂停按钮 当用户自己发现了一个手势,他会有一种成就感。通过使用其它 Android 应用已有的图示和通用的小技巧,让您的应用更容易学习。例如,滑动手势就是一种很好的页面导航方式 当您提示人们做出改正时,要保持和蔼和耐心。当使用您的应用时,他们希望觉得自己很聪明。如果哪里错了,提示清晰的恢复方法,但不要让他们去处理技术上的细节。如果您能悄悄的搞定问题,那最好不过了 将复杂的任务分割成简单的步骤,这样更容易完成。对操作要给予反馈,哪怕仅仅是个微小的闪烁
Style - Devices and Displays • 灵活 • 优化布局 • 适用于各种设备 策略 那么应当如何开始为多种屏幕设计呢?一种方法是以一个基本的标准 (中等尺寸,MDPI) 开始,之后将其缩放到不同的尺寸。另一种方法是从最大的屏幕尺寸开始,之后为小屏幕去掉一些 UI 元素。
Style - Devices and Displays • 术语和概念 • dpi : dots per inch • sp : scaled pixels • px : pixels • dp/dip : density-independent pixels • 根据Google的推荐,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位
Style - Devices and Displays • 以px为单位 • 以dp为单位
Style - Devices and Displays • 在dpi=160的设备中 1dp=1px • px = dp * (dpi / 160)
Style - Devices and Displays • 48dp 定律 一般情况下,48dp 在设备上的物理大小是 9mm。这是触摸控件的推荐大小 (范围7-10mm) ,用户用手指触摸起来比较容易、且准确。
Patterns - App Structure • 典型的 Android 应用由顶层视图和详细信息/编辑视图组成。如果显示的东西非常多或者步骤复杂,使用 分类目录 连接顶层和详细信息。
Patterns - Common App UI • 典型的 Android 应用由操作栏和应用内容区域组成。 • 1.主操作栏 • 2.视图控制按钮 • 3.内容区域 • 4.副操作栏
Patterns - Compatibility 虚拟按键物理按键
Patterns - Pure Android • 不要在列表中使用向右箭头 • 不要使用底部的标签栏 • 不要模仿其它平台的 UI 元素 • 不要在操作栏中使用带有标题的返回按钮 • 不要使用专为其它平台设计的图标
Building Blocks • Tabs • Buttons • Spinners
Building Blocks • Seek Bars • Progress Bars
Building Blocks • Switches • Pickers
Building Blocks - Lists • Grid Lists • ListView 掌握好了ListView,就掌握了Android UI设计的精髓
Activity(Android的窗体) • Activity是Android的核心类,全名是android.app.Activity • Activity相当于Web程序的页面 • 每一个Activity提供了一个可视化区域,在这个可视化区域中可以放置各种Android控件,例如按钮、图像、文本框等。
Activity(Android的窗体) • 一个带界面的Android应用可以由一个或多个Activity组成 • 每一个Activity都有一个窗口,窗口中的可视化组件由View及其子类组成,这些组件按照XML布局文件中指定的位置在窗口上进行拜访
Activity — XML布局文件 • 直接编辑XML文件
Activity — XML布局文件 • 利用自带的可视化UI设计器
Activity — XML布局文件 • DroidDraw是一款比较出色的UI设计器