Android 系列 2设计成功的应用程序

本文档提供了设计成功的Android应用程序的关键要素,包括易于安装、更新、功能丰富且与平台风格一致等要求。介绍了如何利用Android特性和功能,实现流畅的用户体验。
本章是关于编写富有想象力和有用的Android应用程序的设计指南。几个配方描述成功设计的具体方面。本节将列出其他一些。
本章的一个目的是解释开发本机Java Android应用程序与在移动设备上提供丰富内容的其他方法的优势。
手机应用程序的要求
无论其将部署的平台如何,成功交付任何移动手持机应用程序有一些关键要求:
•应用程序应易于在设备上安装,删除和更新。
•它应该以引人注目,独特和优雅的方式满足用户的需求。
•它应该是功能丰富,而新手和专家用户仍然可用。
•通过其他路由(如网站)访问相同信息的用户应该很熟悉。
•应该容易获得功能的关键领域。
•它应该与手机上符合目标平台标准和风格指南的其他本机应用程序具有共同的外观和感觉。
•应用程序应该是稳定,可扩展,可用和响应。

•它应该使用平台的功能,当它使用户的体验更引人注目。


Android应用程序设计
我们将在本章中设计的Android应用程序将利用Android操作系统平台特有的功能和功能。一般来说,应用程序将是一个基于活动的解决方案,允许在逐个屏幕的基础上独立和受控地访问数据。这种方法有助于定位潜在错误,并且允许独立于应用程序的其余部分而容易地替换或增强流的部分。
导航将使用类似于Apple iPhone解决方案的方法,因为所有关键的功能区域将从单个导航栏控件访问。导航栏可以从应用程序中的任何地方访问,允许用户在应用程序周围自由移动。
Android解决方案将利用Android设备固有的功能,支持设备的触摸屏功能,允许用户将应用切换到后台的硬件按钮和应用切换功能。
Android提供了在切换出的点处跳回到应用程序的能力。在可能的情况下,将在此设计中支持。
该应用程序将只使用标准的Android用户界面控件,使其尽可能便携。主题或自定义控件的使用超出了本章的范围。
应用程序将被设计为使其与以JSON格式提供数据的RESTful Web服务的薄层接口。此接口将与Apple iPhone使用的接口相同,以及为其他平台编写的应用程序。
应用程序将尽可能采用Android风格和设计指南,以便它适合与设备上的其他Android应用程序。
退出视图时,将保存每个视图的本地数据,并在下次加载视图时自动恢复相应的用户界面控件。
应考虑一些重要的器件特性,如以下各小节所述:
屏幕尺寸和密度。为了按设备的屏幕类型对设备进行分类,Android为每个设备定义了两个特征:屏幕尺寸(屏幕的物理尺寸)和屏幕密度(屏幕上像素的物理密度,或dpi [每英寸点数]) 。为了简化所有不同类型的屏幕配置,Android系统将它们概括为选择组,使其更容易定位。
在设计应用程序时,设计人员应考虑最合适的屏幕尺寸和屏幕密度选择。
默认情况下,您的应用程序与所有屏幕尺寸和密度兼容,因为Android系统会适当调整您的UI布局和图片资源。但是,您应该为某些屏幕尺寸创建特定的布局,并为特定密度提供专用图像,方法是使用替代布局资源,并在清单中声明应用程序支持哪些屏幕尺寸。

输入配置。许多设备提供不同类型的用户输入机制,诸如硬件键盘,轨迹球或五向导航板。如果您的应用程序需要特定类型的输入硬件,则必须在AndroidManifest.xml文件中声明它,并且请注意,Android Market不会在缺少此功能的设备上显示您的应用程序。然而,应用程序很少需要一定的输入配置。

设备功能。在给定的Android供电设备上可以存在或可以不存在许多硬件和软件特征,诸如相机,光传感器,蓝牙能力,某种版本的OpenGL或者触摸屏的保真度。您不应该认为某个功能在所有Android设备上都可用(除了标准Android库的可用性之外)。
Android应用程序将提供Android框架提供的两种类型的菜单实例,具体取决于具体情况:
•选项菜单包含全局应用于当前活动或启动相关活动的主要功能。选项菜单通常由用户按下硬按钮来调用,通常标记为菜单。选项菜单用于对当前活动全局的任何命令。
•上下文菜单包含当前选定项目的辅助功能。上下文菜单通常由用户在项目上执行长按(按下并保持)来调用。类似于选项菜单,操作可以在当前活动或另一个活动中运行。上下文菜单适用于应用于当前选择的任何命令。
长按项目时出现的上下文菜单上的命令应与正常按该项目时获得的活动重复。
作为非常一般的指导:
•将最常用的操作放在菜单中。
•只有最重要的命令应在屏幕上显示为按钮;将其余部分委托给菜单。
•如果应用程序使用一个菜单项,请考虑将菜单项移动到操作栏。
系统将自动布局菜单,并提供标准方式供用户访问它们,以确保应用程序符合Android用户界面指南。在这个意义上,菜单是用户在所有应用程序中访问功能的熟悉和可靠的方式。
我们的Android应用程序将广泛使用Google的Intent机制在Activity对象之间传递数据。 Intents不仅用于在单个应用程序中的视图之间传递数据,还允许将数据或请求传递到外部模块。因此,Android应用程序可以通过来自由意图调用调用的其他应用程序的嵌入式功能来采用许多功能。这减少了开发过程,并保持所有应用程序的通用外观和感觉和功能行为。
数据Feed和Feed格式。直接与任何第三方数据源进行交互并不是一个好主意;例如,在移动应用程序中使用Type 3 JDBC驱动程序来直接与服务器上的数据库进行通信是一个坏主意。正常的方法是通过中间件来缓解来自潜在多个数据格式的若干源的数据,然后中间件通过一系列RESTful web服务API以JSON数据流的形式将数据传递给应用程序。
通常,以诸如XML,SOAP或一些其他XML派生表示的格式提供数据。 SOAP之类的表示是重量级的,因此,以这种格式从后端服务器传输数据显着增加了开发时间,因为将此数据转换为更易于管理的事务的任务落在手持机应用程序或中间件服务器上的对象上。
通过中间件服务器缓解源数据还有助于打破应用程序和数据之间的依赖关系。这样的依赖性具有缺点,如果由于某种原因,数据改变的性质或数据不能被检索,则应用可能被破坏并变得不可用,并且这样的改变可能需要重新发布应用。通过减轻中间件服务器上的数据,应用程序将继续工作,尽管可能以有限的方式工作,而不管源数据是否存在。应用程序和缓解数据之间的链接将保留。


Android 系列 2.13备份Android应用程序数据
Android 系列 2.12使用KeyListener控制输入
Android 系列 2.11使用Java 8 java.time API简化日期/时间计算
Android 系列 2.10格式化显示的时间和日期
Android 系列 2.9设置首次运行首选项
Android 系列 2.8在Android应用程序中使用Google Analytics(分析)
Android 系列 2.7设计各种APP
Android 系列 2.6在Android中创建Splash屏幕
 

Android 系列 2.5监控Android设备的电池电量


 

Android 系列 2.4用户旋转设备时保留数据


Android 系列 2.3将Android应用程序对象访问为“Singleton”
Android 系列 2.2在运行时请求Android权限
Android 系列 2.1异常处理


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值