Android中通过Intent调用其他应用的方法

启动浏览器

代码与范例:

说明:启动浏览器并前往http://www.google.com 。

启动拨号程序

代码与范例:

说明:启动拨号程序并输入号码138。

通话

代码与范例:

说明:拨打号码138。需要为程序申请权限<uses-permission android:name=”android.permission.CALL_PHONE”/>。

发送短信

代码与范例:

说明:启动短信程序。

启动通讯录

代码与范例:

说明:启动同学录的某一条目。

启动地图程序(Google Maps等)

代码与范例:

说明:启动地图程序。

搜索路线

代码与范例:

说明:启动Google Maps并搜索路线,具体的方法另外补充。

启动邮件程序

代码与范例:

说明:启动邮件程序并将收件人设为xxx@example.com,邮件主题设为Hello world,内容设为Ganbarimasu。

启动邮件程序并添加多个收件人

代码与范例:

说明:启动邮件程序并设置为发送给多个收件人。

启动邮件程序并添加附件

代码与范例:

说明:启动邮件程序并添加附件。

播放MP3文件

代码与范例:

说明:启动音乐程序并播放MP3歌曲。

卸载程序

代码与范例:

说明:卸载包名为strPackageName的程序。

安装程序

代码与范例:

说明:安装包名为strPackageName的程序。

启动设置

代码与范例:

说明:进入设定程序。

启动电子市场

代码与范例:

说明:以包名org.breezesoft.techolite为条件启动Android Market。

启动电子市场并进入程序信息界面

代码与范例:

说明:启动Android Market并进入包名为org.breezesoft.techolite的程序的详细信息界面。

从图库(Gallery)中选择并获取一张图片

代码与范例:

说明:启动图库并中选择并获取一张图片,返回原程序。

色彩

色彩主要用于强调。选择适合于你的界面的色彩以在不同的视觉元素间形成良好的对比效果。注意红色和绿色对于色盲用户来说可能是无法分辨的。

调色盘

蓝色是Android色彩盘中的标准色彩。每一种色彩都有对应的深色调版本,可以在需要时作为一种补充。

下载样板

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

活版印刷(Typography)

Android设计语言依靠例如缩放(scale)、间距(space)、变化(rhythm)和下网格对齐(alignment with an underlying grid)等传统的印刷排版工具。要让用户快速了解屏幕上的信息,对于这些工具的有效使用是很有必要的。为了支持印刷排版的这些功能,ICS引入了一种名为Roboto的新的字体族,它专为UI以及高分辨率屏幕设计。现有的TextView框架默认支持常规、粗体、斜体、和粗斜体等。

下载Roboto

样本手册

 

 

 

 

 

 

默认字体色彩
Android UI使用以下的默认色彩样式:textColorPrimarytextColorSecondary。亮色主题使用textColorPrimaryInversetextColorSecondaryInverse。当框架文本色彩样式在UI元素内部被使用时也支持用于触摸回馈状态的变体:

印刷缩放
文本尺寸的对比对设计出有条理而易于理解的布局很有帮助。不过,在同一UI中过多的不同尺寸也会造成混乱。Android框架使用以下尺寸集。

用户可以在设置中选择文本的系统级缩放因子。为了支持这一可读性功能,文本应该尽可能地使用sp这一缩放无关单位。要使用这些设定来测试所有支持缩放文本的布局。

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

公制和框格(grid)

设备不仅物理尺寸不同,屏幕密度(DPI,Dots Per Inch)也不相同。为了简化在不同屏幕时的设计,想象每一种设备都被分类放入指定的“尺寸桶”和“密度桶”中。“尺寸桶”分为手持设备(小于600dp)与平板设备(大于等于600dp)。“密度桶”分为LDPI(Low DPI,120)、MDPI(Medium DPI,160)、HDPI(High DPI,240)与XHDPI(Extra High DPI,320)。为不同“尺寸桶”设计不同的界面布局并为不同的“密度桶”提供不同的位图图片以优化程序的用户界面。

空间问题
设备能够显示的密度无关像素(density-independent pixel,dp)是不同的。
更多内容请参见“屏幕尺寸与密度”数据页面

48dp律

可触控的UI组件通常是48dp大小的。

为什么是48dp?
通常,48dp相当与物理尺寸的9mm(有时可能会有些差异)。这在可触控元素的推荐尺寸(7-10mm)之内,因此用户可以准确地用手指按下这些元素。

如果你将元素的长宽设计为48dp以上的话:

  • 无论在何种屏幕上你的元素都不可能会比最小推荐触控尺寸的7mm更小。
  • 你将在整体信息密度和界面元素的易触控性之间取得很好的平衡。

注意间距
给每个UI元素保留8dp的间距。

范例

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

触摸反馈

应当使用色彩与光亮来响应触摸操作,加强手势操作的行为结果,并且标识出那些操作是可用的,而哪些是不可用的。

当用户触摸你的程序中的某一可操作区域时,应当提供视觉反馈。这样能让用户知道他触摸到了哪一个部件,并且你的程序确实接收到了触摸。

状态

 

Android的大部分UI元素都内建了触摸反馈,包括了能够显示触摸该元素是否会产生效果的标识状态。

交流

当你的部件要对更为复杂的手势操作进行回应时,应当帮助用户理解该操作将会产生什么结果。例如,在“最近情况(Recents)”中,当你开始将一个图标向左或向右滑动时,该图标就会变得暗淡。这帮助用户理解滑动操作会是条目被移除。

边界

当用户的拖动操作超过了可滚动区域的上下界时,应当将该边界以一种视觉的方式提示给用户。例如,当用户要继续拖动屏幕至第一个主界面之前时,屏幕上的内容将会倾斜以表明不能继续进行这个方向的拖动。许多Android的可滚动UI部件(例如列表和格状列表)已经支持了内建的边界反馈。如果你要构建自定义的可滚动部件,应当也采用边界反馈。

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

 

用户界面(UI)综览

Android系统的UI提供了用以构建程序的框架。其中比较重要的方面包括有主界面(Home screen)体验、全局设备导航和通知。

你的程序对于保持Android整体体验的一致性和易用性有着重要作用。在本章的最后,我们将介绍一些你的程序为了达到这一目标所需的一些主要元素。

 

主界面、所有程序,以及最近情况

“主界面”界面
主界面是一个可自定义的保存程序快捷方式、文件夹和插件的空间。在不同的主界面面板之间可以通过左右滑动切换。底部的收藏夹托盘存有最为重要的快捷方式和文件夹,无论处于哪一个主界面面板它都将被显示。
要查看所有的程序和插件,只需点击收藏夹托盘中间的“所有程序”按钮。

 

 

 

 

 

 

 

 

 

“所有程序”界面
“所有程序”界面让你可浏览安装于设备中的所有的程序和插件。
用户可以从“所有程序”界面中拖动程序或是插件的图标至主界面的任何空着的地方。

 

 

 

 

 

 

 

 

 

 

“最近情况”界面
“最近情况”提供了一种在各种最近使用过的程序间切换的有效方式。它在多个正在运行的程序间提供一条清晰的导航路径。
导航栏右侧的最近情况键显示了用户最近使用过的程序。它们以逆序方式排序,最近使用的程序被显示在底端。
通过点击来切换程序。通过向右滑动图标来消除一个条目。

 

 

 

 

 

 

 

 

 

 

系统栏

系统栏是用于显示通知、设备状态和设备导航等内容的屏幕区域。一般来说系统栏和程序同时被显示。一些程序会显示需要集中注意力的内容,例如电影和图片,它们可以暂时隐藏系统栏以让用户享受全屏内容而不会分心。

1、状态栏
在左侧显示待处理的通知,在右侧显示如时间、电池状态或是信号强度等状态。
下拉状态栏以显示通知的具体内容。

2、导航栏
Android 4.0中新采用的导航栏,只出现在没有传统物理按键的设备上。它包含了设备导航键——“返回”、“主界面”和“最近情况”,同时也会显示Android 2.3或更早版本中的选项菜单。

3、组合栏
在平板上的将状态栏和导航栏合并而成的单一栏,位于屏幕底部。

 

通知

通知是用户可以在任何时候都能从状态栏访问的简单信息。它们提供了升级、提醒等一些重要但不那么紧急而需要立刻打断用户的信息。通过下拉状态栏以打开通知下拉窗口(drawer)。点击通知以打开关联程序。参见“通知”(链接待添加)。

 

 

 

 

 

 

 

大多数通知有一条标题和一条消息。推荐的通知布局为两行。如有必要,可以增加第三行。而时间戳是可选项目。
向左或是向右滑动一条通知可以将其从通知下拉窗口中移除。

 

 

 

 

 

 

 

 

 

常见程序UI

一个典型的Android程序包含了动作栏和程序内容区域。

1、主动作栏(Main Action Bar)
你的程序的主要的控制中心。主动作栏包含了在程序层级、视图间导航的元素,以及大部分重要的操作。
更多内容参见“动作栏”(链接待添加)。

2、视图控制(View Control)
允许用户程序的不同视图之间切换。视图内容通常为数据的不同编排方式或是程序的不同功能。

3、内容区域
显示程序内容的区域。

4、分隔动作栏(Split Action Bar)
通过在主动作栏下方或是屏幕底部显示分隔动作栏可以进行更多的操作。在这里,分隔动作栏中包含了主动作栏里放不下的功能。

 

 

 

 

 

 

 

 

 

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

设计原则

这些设计原则是由Android用户体验团队所设制的,用以最大程度地保持用户的兴趣。在自己的创作和设计思想中也要想到应用他们。按照目的来进行最适合的改变。

吸引我

用令人惊讶的方式来令我感到愉悦
一个美观的界面,一个精心设计的动画,或是恰到好处的音效都是一种愉快的体验。精巧的细节效果可以令人更觉程序轻松易用,有如掌握着强大的力量。

现实感的物件比按钮和菜单更加有趣
允许人们在你的程序里直接触摸并操作物件。这样就降低了进行操作时认知成本,并更令人感到心满意足。

让它成为属于我的东西
人们喜欢增加个性化的内容,这让他们有掌控自如的感觉。提供精美的默认界面,但是在不影响主要功能的前提下也要考虑添加些有趣的可选自定义内容。

了解我
在使用过程中学习人们的偏好设置。不要总是一次次地问人们相同的问题,而是把上一次的选项置于默认的位置。

简化我的生活

保持简约
用简单的词或词组。人们很容易跳过长篇大论的文字。

图片胜过文字
试着用图片来解释想法。它们能够比文字更有效地吸引人们的注意并令他们理解。

为我作好选择,不过最终由我决定
在询问用户之前就猜测其最佳选项。太多的选择和做决定会让人感到不快。在万一操作错误的时候,也要提供“撤销”功能。

仅在我需要的时候显示它
人们在一下子看到太多东西时会不知所措。把操作和信息分成小而易于理解的部分。把暂时不需要的选项隐藏起来,并且在之后告诉人们如何使用。

我需要知道我在哪里
让人们确信他们知道他们在哪里。让你的程序看起来易于识别,并在不同屏幕内容之间用过渡效果来表现其关联性。对正在运行的工作提供反馈信息。

不要丢失我的内容
保存人们花费了时间创造出来的内容,并允许人们从任何地方都能读取这些。记住用户的设置、个性化的修改,并能在手机、平板和电脑之间交互。这样就能使得更新内容变得轻而易举。

如果它看起来相似,那么它应该功能上也相似
通过把不同的功能图标设计得看上去就不同来帮助人们识别不同的功能。要避免把有着不同效果的功能设计的看起来很相像。

仅在有重要情况时才打断我
需要像一位优秀的个人助理那样,让用户免受不重要的琐事的烦扰。人们喜欢保持注意力,除非非常紧急,不然打断人们会让他们感到烦躁。

让我惊讶

在各个地方给我提示
人们会在以己之力解决问题时感到畅快。让你的程序变得简单易学——通过有效的视觉设计以及具有和其他Android程序相似的操作方式。例如,滑动手势操作可以是一种很好的程序导航快捷方式。

不是我的错
在试图让人们改正错误时要有耐心。他们希望在使用你的程序时能够看起来很聪明。如果发生了错误,需要给出明确的恢复方法,不过不要有太多的技术细节。如果可以在后台自动解决问题那就再好不过了。

给予支持
把复杂的操作分割为容易完成的小块。对于用户操作要给予反馈,即使仅仅是让图标小小地发一下光。

为我处理复杂内容
通过让新手完成他们以为自己难以完成的工作来让他们感觉好象是熟练的专家。例如,包含了多种照片效果的快捷方式可以让业余级的照片仅仅在一次操作后就看起来令人惊讶的好。

让重要的事情快速完成
并非所有的操作都是相同重要的。决定好你的程序中什么是最重要的,并把其放在明显的位置以能够快速启动,就好象相机程序中的快门键或是音乐播放器中的暂停键。

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

创造性的视野

冰激凌三明治(Android 4.0)是Android设计中的一个重要里程碑。我们涉及了系统的几乎每一个像素,包括把蜂巢(Honeycomb)平板中的新的设计方式扩展到了所有类型的移动设备上。从最为基础的元素来时,我们引入了一种新的字体,Roboto,它专为高分辨率显示而设计。其他大的改动包括手机上框架级别的动作栏以及对没有物理按键的新手机的支持。

我们将从三个整体性的目标出发来关注核心程序以及整个系统的设计。在设计运行于Android的程序时,请考虑一下目标:

吸引我

美不仅是表层的。Android应用在多个层面上都是流畅而具有美感的。翻译简洁明了;布局和版式简约而有意义。程序图标本身就是一种艺术品。就如制作精良的工具,你的程序应该尽可能地美观,简约,以创造一种使用轻松而功能强大的神奇体验。

简化我的生活

Android程序让生活更加简单而易于理解。当人们第一次使用你的程序时,他们应该能凭直觉理解程序最主要的功能。不过设计并不止于此。Android程序去除了如文件管理和同步之类的繁琐工作。简单的事将不需要复杂的操作,而复杂的事被设计为人们易于操作的。各个年龄,各种文化背景的人们都能很好地掌握程序用法,而不会因为太多的选项或是不相关的内容而不知所措。

让我惊讶

仅仅让一个程序简单易用还不够。Android程序让人们以创造性的方式去尝试新的事物。Android程序通过多任务、通知和跨程序共享来让人们以新的流程来使用各种程序。同时,你的程序应该是能适合于个人的,让人们能够简明而优雅地使用到优秀的技术。

上一节

下一节

本页部分内容根据Android Open Source Project创作并共享的内容修改,并在知识共享 署名2.5许可协议中所述条款的限制下使用。

Android中判断SD卡状态

代码:Environment.getExternalStorageState();

范例:

说明:用于判断设备的SD卡的状态。

Android用记事本程序 Techo Lite 版本升级 1.6.0

Techo Lite是一款以快速启动和功能精简为特色的Android用记事本软件。设计中所有的考量都是从尽可能减少操作步骤和操作时间出发的。昨天对其做了一个小改进。

关于之前版本的信息,请参见之前的日志

在1.5.0版本中添加了文本的导入功能,可以导入各种字符编码格式的文本文件。由于包含了自动识别文本编码的模块,所以程序的体积增大了些。不过这完全没有影响Techo Lite的快速启动并进入编辑模式的特性。另外修正了以邮件发送文本时日期的月份比实际月份小1的问题。

1.6.0版本的改进之处依然是减少了操作的步骤数和时间,即增加了滑动屏幕切换页面的功能。之前是需要从选项菜单中选择切换功能,需要两次不同位置的按键操作,而现在改为了更为直观的直接左右滑动屏幕切换。

至此,最初设想的Techo Lite的功能都已经实现,没有什么情况的话今后应该不会再增加新功能了。虽然包括这次添加屏幕滑动功能时也都注意到了不同版本系统兼容性的问题,不过不排除今后还会有设备兼容性方面的更新。

事实上之前提到的全功能的记事本Techo的开发已经在进行中,虽然依然只是基于自己的需求而做的设计,不过也正因此有一些其他试用过的记事本类程序所不具备的特性。争取能在这个假期结束前完成第一个可用版本。

Techo Lite的Android Market页面:

https://market.android.com/details?id=org.breezesoft.techolite