【Android开发Wiki】进阶篇创建向后兼容的用户界面(一):抽象化新的API特性-Abstracting the New APIs

【Android开发Wiki】进阶篇创建向后兼容的用户界面(一):抽象化新的API特性-Abstracting the New APIs
【Android开发Wiki】进阶篇创建向后兼容的用户界面(一):抽象化新的API特性-Abstracting the New APIs

原文链接:

https://www.360docs.net/doc/b617299169.html,/training/backward-compatible-ui/abstracting.html

假设你想在你的应用中用* action bar tabs_'作为顶级导航的基本形式,不幸的是,'_A ctionBar* APIs只能在 Android 3.0 或以后的版本(API Level 11+)中支持。因此,如果的你应用想在较早版本的平台上运行的话,你的应用的实现方式需要在支持新版本的API 的同时也要支持老版本API。

在这节课程中,我们构建一个标签用户接口组件,这是一个可以用指定方式实现的向后兼容的抽象类。这一节将讲述创建标签组件的第一步——如何为新的tab API创建抽象层

关于抽象的准备知识

在Java编程语言中,抽象化系指一个或多个接口,或者是抽象类隐藏了他们的具体实现。对于较新版本的Android平台,你可以利用抽象化来构建可以识别版本的组件,在新版本的设备上使用用新版本的API实现。

在使用这种方法时,你首先要确定你要实现向后兼容的新版本类,然后基于这个新类的公共接口创建一个抽象类。在定义抽象类(或接口)时,你应该尽可能多的与新的接口所定义的方法保持一致,最大限度的向前兼容,在将来不需要这个抽象层时也能够轻易的去掉。

这些为新的API构建的抽象类创建以后,在运行时我们可以创建和选择任意数量的实现类。为了达到向后兼容的目的,这些实现类能够根据API Level进行判断,因此,应用中的实现方式可以依据API Level来选择使用最近发布的API,或者使用较早版本的API。

创建一个抽象的Tab接口

为了创建一个向后兼容的Tabs版本,你首先要考虑在你的应用中需要哪些特性和API。对于顶层的Tabs,假设你的应用有如下的功能需求:

1.Tab显示需要显示文本和图标

2.这些Tab能够与fragment实例联合在一起使用

3.activity能够监听tab发生变化时的事件

事先定义好这些需求可以帮助你控制抽象层所实现的范围,这就意味着你能很快的创建一个新的实现并且很快的使用这些向后兼容的实现方法。ActionBar和ActionBar.Tab是Tabs两个重要的APIs,为了能够做到版本识别(Version-Aware),这些APIs是需要抽象的。这个示例工程需要向后兼容Eclair (API level 5)并且还应该具有Honeycomb (API Level 11)的新的优点和特性,下图是满足这个需求的类结构图:

图1:抽象基类和具体实现类图抽象ActionBar.Tab

抽象ActionBar Tab 方法

在接下来的课程里,我们将遵循向后兼容的原则来实现TabHelper_'和'_CompatTab。文章来源:https://www.360docs.net/doc/b617299169.html,/page/Abstracting_the_New_APIs

Android简单的登陆界面的设计开发

通信实训报告 -Android移动平台开发 学院:信息工程学院 班级: 学号: 姓名:

实训内容: 一.1.Andriod的简介 Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread 和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 Android早期由原名为"Android"的公司开发,谷歌在2005年收购"Android.Inc"后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。 2.Android构架图 二.1软件下载 Android SDK,网址是https://www.360docs.net/doc/b617299169.html,. JDK的下载地址https://www.360docs.net/doc/b617299169.html,/javase/downloads/widget/jdk6.jsp。Eclipse的下载网址是https://www.360docs.net/doc/b617299169.html,/downloads/ 2.Android开发环境搭建

Android人机界面(UI)设计规范(带目录)

Android 人机界面设计规范 1Android 设计的依据 1.1 框架结构及流程 是什么使得android 有着独特的用户体验? 后台处理支持多任务功能 正在进行和事件驱动的提示信息 通过Widgets 和live folders 来实现实时信息的预览 用户想用时,任一应用程序都可以挑选和选择 android 不是关于程序的,它是关于活动,把任务分层, 1.2 架构基础 硬件平台 android 设备代表的是硬件和软件的完美组合。硬件辅助导航操作,并给android 提供更多更好的功能。当菜单没有开启,要把屏幕最大化时,菜单按钮可以在屏幕上提供更多的内容。返回按钮允许使用返回堆(back stack)。 竖屏与横屏 一般来说,用户界面开发竖屏与横屏。在新横屏也仍存在于新的Android 手机中。99%的android 布局支持横屏。 焦点和菜单 在触摸模式里没有焦点,只有轨迹球。Android 平台里没有鼠标焦点。确定你从未显示焦点。主菜单应该包括全部功能;它们与活动联系一起形成整体。菜单上的图标按重要性排序。如果有多于5 个图标,使用点击more menu 菜单来查看那些不太重要的菜单项。上下文菜单(长按)集中在一个特定对象。 总是把那些与所选项最相关的行为放在长按菜单的顶部。 需要记住的几点: 设计时要考虑速度和简洁 尽量分层来分等级 屏幕上的活动尽量最小 使用下载进度条,下载数据时,而不是让用户等待去看一个加载完全的页面。 考虑活动流而不是线性行为 1.3 屏幕上的行为

android 设计了特定的行为方式。在你的应用程序里利用好这一点。应该坚持android 行为的标准,避免混淆用户。 1.4 表达 细节使得产品集中在细节。程序的美学会帮助你集中注意在那些应用体验核心的关键任务上。API DEMO 是开始你的工具包的好地方。 2 用户界面原则 这部分试图讲述创造一个好的用户界面的一些基本的交互设计原则。这些原则是基本的,不止能应用于android 的用户界面设计,也可以应用于其他。苹果建议开发者花费60%的开发时间来进行设计工作。下面的用户界面原则将为好的设计提供一个基础。 2.1 隐喻 隐喻是构建一个基于操作任务心智模型的模块;用它们来传递应用程序的概念和功能。基于真实世界的应用对象可以帮助用户很快的理解该应用程序。当你设计你的应用程序时,要注意andriod 中存在的隐喻,不要重新定义它们。同时,检查你的应用程序执行的任务,看是否有些自然隐喻你可以使用。 2.2 反映用户的心智模型 用户已经有了一个来描述你的程序正在进行的任务的心智模型。这个心智模型产生于真实世界经验、其它软件和一般电脑基本知识的结合。比如说,用户在真实世界里有写字、寄信的经验,也会产生特定的期待,像写一封新的信,选一个接受者,然后寄出信。一个忽略用户心智模型的电子邮件程序用起来会很困难和不舒服。这是因为程序强加给用户一个不熟悉的概念模型,而不是建立一个用户已有的知识经验模式。 在设计程序用户界面之前,试着去发现你的用户的心智模型,这样帮助用户去执行任务。心智模型中内在的隐喻,它代表了任务的概念组成。在写信这个例子中,隐喻包括信件、邮包和信封。在涉及到照片的任务的思考模式中,隐喻包括照片、照相机和专辑。我们要努力地发现用户的期望,包括任务组成、组织、窗口布局的工作流、菜单和工具栏组织、控制面板的使用。 要通过努力地何必把个下面的特征与用户心智模型相融合: 熟悉性 用户的心智模型主要是建立在经验的基础上 简单化 一项任务的心智模型通常是流线型,关注任务的基本组成部分。尽管对于一个给定的任务有很多可选的细节,但是基本的组成部分占大部分,并且不会占用用户的注意。 可利用性Availability

第4章 Android用户界面设计

视图组件的使用模式 常用组件 高级组件 提示框与警告对话框

就是Android应用程序的开发过程。一般过程是先通过XML布局文件或Java代码创建界面布局,设定组件显示样式,随后获取UI组件对象,并处理组件事件响应。 视图组件的定义 资源的访问 生成视图组件资源标识 视图组件的引用 视图组件的事件响应 组件的常用属性

1.1视图组件的定义 使用XML布局文件定义视图组件 使用Java代码定义视图组件(不推荐)

1.1视图组件的定义 使用XML布局文件定义视图组件 Android平台为大多数视图组件以及其子类提供了XML标记,可通过XML布局文件中的标记来定义视图组件。XML中的每个元素代表了一个组件,即元素名称对应相应的Java类。

1.1视图组件的定义

相关文档
最新文档