
Android官网文档译文
夏商周
世事纷扰 开心就好
展开
-
API指南 -- 动画和图像(3)-- 组件动画(View Animation)
你可以使用组件动画系统在View上设置补间动画。补间动画通过动画的起点,终点,尺寸,旋转以及其它信息来计算动画。 一个补间动画可以在一个View对象的内容(位置,大小,旋转,透明度)上执行一些简单的变换操作。所以,如果你有一个TextView对象,那么你可以移动,旋转,放大,或缩小文本。如果它还有背景图片的话,背景图片也会跟着文本一起变换。android.view.animation包下提翻译 2014-10-27 11:22:39 · 393 阅读 · 0 评论 -
API指南 -- 动画和图像(2)-- 属性动画(Property Animation)
属性动画系统是一个非常健壮的框架以至于你可以为任何对象设置动画。无论一个对象是否渲染到屏幕,你都可以定义一个动画通过时间变化来改变它的属性。一个属性动画根据指定的时间长度来改变一个属性值(一个对象的域)。为了设置动画,你需要指定动画施加的对象属性,比如对象在屏幕上的位置,还要指定动画时间长度,和动画的区间长度。 属性动画系统允许你定义动画的下述几个特征:时长:你可以指定动画的时长。默认翻译 2014-10-24 11:27:59 · 689 阅读 · 0 评论 -
API指南--动画和图像—概述
安卓提供了很多强大的API来支持UI组件的动画以及描画自定义2D和3D图像。下面的部分概述了这些API和系统在这方面的能力,以期帮助你决定哪些方法更适合你的需求。 动画 安卓框架层提供了2大动画系统:属性动画(引进自安卓3.0)和组件动画。这两个动画系统都是可行的选择,但是属性动画系统,总体上讲,是倾向建议使用的方法,因为它更灵活,且功能多。除了这两个系统外,你还可以利用图片动画,翻译 2014-10-21 11:17:47 · 520 阅读 · 0 评论 -
API指南—Activity的任务和后退栈
API指南—Activity的任务和后退栈 一个应用程序通常会包含很多个Activity。每个activity都应该满足用户的某种操作需求,也可以打开别的activity。例如,一个电子邮件应用程序可能有一个activity用来显示新邮件列表。当用户选择某个新邮件的时候,会打开一个新的activity用来查阅这封邮件。 一个activity也可以启动别的应用程序中的某个activi翻译 2014-10-20 14:23:11 · 919 阅读 · 0 评论 -
关于Android官网Training课程的翻译
我已经翻译了近两周的Training文章,今天无意中发现了一哥们早就原创 2014-07-15 12:59:28 · 652 阅读 · 0 评论 -
Training--与其他APP通信(3)-- 允许其他应用启动你的Activity
与其他APP通信(3)-- 允许其他应用启动你的Activity 前两课关注了故事的一方:从你的应用中启动另一个应用的activity。但是如果你的应用可以执行一些对其他应用可能有用的动作,那么你应该准备好响应从其它应用发送过来的动作请求。例如,你创建一个社交应用,可以与用户的朋友分享消息或者图片,那么你应该有兴趣支持ACTION_SEND Intent,这样用户可以从其他应用初始化一个“翻译 2014-07-14 17:07:38 · 602 阅读 · 0 评论 -
Training--与其他APP通信(2)--从一个Activity得到结果
与其他APP通信(2)--从一个Activity得到结果 启动另一个activity不必总是单向的。你也可以启动另一个activity,然后获得一个返回结果。为了获得一个结果,调用startActivityForResult()(代替startActivity())。 例如,你可以启动一个相机应用,然后获得作为结果的照片。或者,你可以为了让用户选择一个联系人而启动了一个联系人应用,翻译 2014-07-14 15:33:45 · 568 阅读 · 0 评论 -
Training--与其他APP通信(1)-- 导航用户到另一个应用
与其他APP通信(1)-- 导航用户到另一个应用 安卓最重要的功能之一就是一个应用可以根据一个它想执行的“动作(action)”,来导航用户到另一个应用。例如,如果你的应用有一个商业地址想在地图上显示,你不需要在你的应用中创建一个activity来显示一张地图。而是,你可以使用一个Intent来创建查看地址的请求。然后安卓系统会启动一个有能力在地图上显示这个地址的应用。 诚如在第一翻译 2014-07-14 14:59:26 · 587 阅读 · 0 评论 -
Training--与其他APP通信
与其他APP通信 一个安卓应用通常包含若干个Activity。每一个Activity显示一个用户界面,允许用户执行某种任务(例如查看地图或拍照)。为了把用户从一个activity导航到另一个,你的应用必须使用一个Intent来声明你做某件事的意图。当你调用某个方法如startActivity(),并传递一个Intent给系统,系统将使用这个Intent来识别和启动合适的应用组件。使用Int翻译 2014-07-14 13:36:15 · 499 阅读 · 0 评论 -
Training--保存数据(3)-- 在SQL数据库中保存数据
保存数据(3)-- 在SQL数据库中保存数据 对于那些反复性的或者结构化的数据,比如联系人信息,把这些数据存储到数据库中是比较理想的做法。本课程假设你已经熟悉SQL数据库的基本知识,那么将帮助你在安卓上开始使用SQLite数据库。安卓的与数据库相关的API接口定义在android.database.sqlite包下。 定义一个框架(Schema)和协议(Contract)翻译 2014-07-14 12:50:29 · 560 阅读 · 0 评论 -
android内部文件存储示例
内部文件存储示例 写了一个应用例子,主要是说明如何使用内部存储保存文件。安装运行测试应用,主界面如下:原创 2014-07-11 17:43:33 · 929 阅读 · 0 评论 -
Training--保存数据(2)-- 保存文件
保存数据(2)-- 保存文件 安卓使用的文件系统与其它平台上基于磁盘的文件系统是相似的。本课描述了如何使用File的API接口在安卓的文件系统上读取和写入文件。 一个File对象适合以从头至尾连续而非跳跃的顺序读取和写入大量的数据。例如,它比较适合保存通过网络交换的图像文件或其他文件。 本课展示了如何在你的应用中执行基本的文件相关的任务。本课程假设你已经熟悉了linux文件翻译 2014-07-11 17:38:43 · 566 阅读 · 0 评论 -
Training--保存数据(1)-- 保存键值对集合
保存数据(1)-- 保存键值对集合 如果你有一些相对少量的键值对形式的数据需要保存的话,你应该使用SharedPreferences接口。一个SharedPreferences对象指向一个保存了键值对的文件,并且提供一些简单方法读取和写入键值对数据。每一个SharedPreferences文件都由framework管理,它可以是私有的也可以是共享的。 本课程教你如何使用Shared翻译 2014-07-10 17:16:26 · 862 阅读 · 0 评论 -
Training--保存数据
保存数据 大多数安卓应用都需要保存数据,甚至为了在onPause()过程中不丢失用户的操作,也需要保存应用状态的信息。大多数不太小的应用都需要保存用户设置,一些应用必须管理存储在文件和数据库中的大量信息。本课程将向你介绍安卓中保存数据的主要方式,包括: 在“共享的喜好”文件中保存简单数据类型的键值对在安卓文件系统中保存任意文件使用SQLite数据库 课程 保翻译 2014-07-10 16:40:39 · 381 阅读 · 0 评论 -
Training--使用Fragment创建动态UI(3)-- 与其他Fragment通信
使用Fragment创建动态UI(3)-- 与其他Fragment通信 为了复用Fragment UI组件,你应该把它们创建成一个自包含的模块化组件即定义自己的布局和行为。一旦你定义了这些可复用的fragment,你可以把它们绑定到一个activity,然后把它们和整个应用的逻辑连接起来形成一个统一的组合UI。 你通常希望一个fragment能和另一个通信,例如根据用户事件改变内容翻译 2014-07-10 16:22:46 · 459 阅读 · 0 评论 -
Training--使用Fragment创建动态UI(2)--构建一个灵活的UI
使用Fragment创建动态UI(2)--构建一个灵活的UI 当你想把你的app设计成一个可以支持各种屏幕尺寸的时候,你可以根据屏幕上可用的空间,在不同的布局文件里复用fragment,优化用户体验。 例如,在一个手持设备上,在单面板用户界面上可能更适合一次显示一个fragment。相反地,在平板上,由于屏幕宽度大,你也许可以挨个放置多个fragment来给用户显示更多地信息。翻译 2014-07-10 15:10:34 · 576 阅读 · 0 评论 -
Training--使用Fragment创建动态UI(1)-- 创建一个Fragment
使用Fragment创建动态UI(1)-- 创建一个Fragment 你可以认为一个Fragment就是activity中的一个模块化区域,它拥有自己的生命周期,可以接收自己的输入事件,你可以在activity的运行过程中添加或者移除它(就像在不同的activity中可以复用的子activity)。本课程将向你展示如何使用支持库来继承Fragment类,这样就可以兼容版本低达1.6的安卓平翻译 2014-07-10 13:04:00 · 533 阅读 · 0 评论 -
Training--使用Fragment创建动态UI
使用Fragment创建动态UI 为了在安卓上创建一个动态的多面板(本人理解意思就是一个完整的用户界面其实是由单独的若干个模块界面组装的)的用户界面,你可以把一些UI组件和activity行为组装成一个个模块,这些模块可以自由地从你的activity中被换进换出。你可以使用Fragment类来创建这些模块,这些模块表现行为就像一个嵌入式的activity,它们也可以有自己定义的布局,还能管翻译 2014-07-10 11:15:53 · 471 阅读 · 0 评论 -
Activity生命周期演示
Activity生命周期演示 在“管理activity的生命周期”系列课程中,我们讲解了activity的生命周期,官方网站上是有一个演示Demo的(下载Demo),通过我的演示,来给大家讲解一下activity的生命周期。 编译运行工程,进入app,界面如下:原创 2014-07-08 17:25:02 · 1159 阅读 · 0 评论 -
Training--重建一个Activity
重建一个Activity 在正常的app行为中,有几个场景你的activity会被销毁,例如点击了后退按钮或者你自己调用了finish()来销毁自己。系统也可能销毁你的activity,例如activity处于停止状态并且长时间未使用或者前台的activity需要更多的系统资源,系统迫不得已需要关闭后台的进程来回收内存。 当你的activity的销毁是通过用户点击后退或者自己结束自翻译 2014-07-08 16:13:50 · 586 阅读 · 0 评论 -
Training--停止和重启一个Activity
停止和重启一个Activity 合理地停止和重启你的activity在activity生命周期中是比较重要的部分,这样可以保证你的用户觉得你的app一直是存活的,而且不会丢失他们的操作。有几个关键的场景,在这些场景里你的activity是处于停止和重启的状态: 1) 用户打开“最近使用的app”窗口(长按home键弹出或者别的键),从中选择进入别的app。那么你的app中翻译 2014-07-08 15:14:30 · 629 阅读 · 0 评论 -
Training--暂停和继续(运行)一个Activity
暂停和继续(运行)一个Activity 在app的正常使用中,前台的activity有时会被其他可视化组件遮挡而进入暂停 状态。例如,当打开一个半透明的activity(例如一个对话框风格的),之前的activity就会暂停。只要这个activity部分可见,当前未获得用户焦点,它就保持暂停状态。 尽管如此,一旦某个activity完全被遮挡且不可见,它就会处于停止状态(下节课讨论翻译 2014-07-08 11:25:38 · 777 阅读 · 0 评论 -
Training--启动一个Activity
启动一个Activity 不像其他编程规范,app启动是从main()方法开始的。而安卓系统是通过调用与activity生命周期相关的回调方法来初始化和启动activity的。Activity的启动和销毁都是与一些回调方法相关联的。 本课程会浏览一下生命周期中最重要的方法,并指导你初次创建一个activity时如何处理生命周期的回调方法。 理解生命周期回调方法 在a翻译 2014-07-07 17:58:35 · 545 阅读 · 0 评论 -
Training--管理activity的生命周期
管理activity的生命周期 当用户在你的app里来回操作,或者离开或者回到你的app,所有的你的activity实例都在他们生命周期里发生着状态的变化。例如,当你的activity第1次启动,它运行在系统的前台,并且获得用户焦点。在这个过程中,安卓系统会调用这个activity的一系列生命周期的方法,在这些方法里,你可以设置用户界面和其他组件。当用户启动另一个app里的activity翻译 2014-07-07 11:31:55 · 442 阅读 · 0 评论 -
Training--支持不同的平台版本
支持不同的平台版本 虽然最新的安卓版本提供了更丰富的API供你使用,但是由于众多的手机不能及时更新到最新版本,你仍然需要支持旧版本。本课将教会你在支持旧版本的基础上,同时可以使用新版本的API。 平台版本 网站公布了每个安卓版本的分布统计情况,统计数据来源于谷歌应用商店的设备访问量。通常比较好的情况是,你的app应该支持大约90%的手机,同时适用于最新的安卓版本。 注翻译 2014-07-06 15:32:20 · 594 阅读 · 0 评论 -
Training--支持不同的屏幕
支持不同的屏幕 安卓根据两方面将手机屏幕进行不同划分:尺寸和密度。你应该预料到你的APP会安装到屏幕尺寸和密度都不同的手机上。正是如此,你应该根据不同的屏幕尺寸和密度使用可选的资源来优化你的app界面。 有4种通用尺寸:小,中,大,超大。有4种通用密度:低(ldpi),中(mdpi),高(hdpi),超高(xhdpi) 通过声明不同的布局文件和位图,你可以适配不同的屏幕翻译 2014-07-06 12:13:32 · 406 阅读 · 0 评论 -
Training--支持不同的语言
一个比较好的习惯就是把UI字符串从代码里提取出来,放在一个单独的文件里。在安卓上,很容易做到这一点,在每个工程目录下,都有一个单独的资源文件夹专门用来存放这些资源的。 如果你使用了安卓SDK工具创建了一个工程(前面介绍过如何使用Eclipse创建工程),在工程的根目录下你就会发现一个 res/ 文件夹。这个res文件夹以及里面的各层目录存放了不同的类型资源。有一个默认的文件叫 res/va翻译 2014-07-06 11:13:19 · 1133 阅读 · 0 评论 -
Training--支持不同的设备
支持不同的设备全世界的安卓设备拥有各种各样的形状和大小。拥有如此广泛的设备类型,你的app无疑也有机会赢得广泛的群众基础。为了达到这个目的,你不得不针对这些设备的配置信息适配你的app。通常你应该考虑的事情是如何适配不同的语言,屏幕大小和不同的安卓平台版本。 本课将教会你如何利用平台的基本功能例如利用可选资源和其他一些功能,在开发一个单独的应用包(APK)的前提下,在不同的安卓兼容设备翻译 2014-07-06 11:08:47 · 414 阅读 · 0 评论 -
Training--叠加动作栏
叠加动作栏 默认情况下,动作栏是显示在你的activity布局窗口的上面,这样就会占用一部分窗体空间。在用户操作过程中,你可以需要隐藏或显示动作栏,通过调用接口hide()或者show()来实现。但是,这样会引起你的activity重新计算布局大小,并且需要重新画界面。 为了避免当显示或隐匿动作栏的时候重新调整你的activity的布局,我们可以启用动作栏的叠加模式。在叠加模式下,翻译 2014-07-04 17:30:49 · 646 阅读 · 0 评论 -
Training--风格化动作栏
风格化动作栏 动作栏给你的用户提供了一个熟悉而又直观的方式来执行动作和导航你的app。但是这不是说动作栏必须和其他的APP都是一模一样的。如果你想更改动作栏的样貌的话,你可以通过使用安卓的“风格和主题”轻松实现。 安卓包含了一些内置的activity主题能够实现“深色”和“浅色”的动作栏风格。你也可以通过扩展这些主题来定制你自己的动作栏。 使用安卓主题 安卓包含了两翻译 2014-07-04 16:43:02 · 711 阅读 · 0 评论 -
Training--添加动作按钮
添加动作按钮 动作栏允许你将重要的动作选项直接放到上面。这些选项可以以图标加文本或纯文本的形式显示在动作栏里,这些选项称作动作按钮。如果按钮不能全部显示出来,或者不需要直接显示的话,他们会被放在“更多”选项里(也就是下图中的上下3个点的按钮)。Figure 1. An action bar withan action button for Search and the acti翻译 2014-07-04 11:03:28 · 799 阅读 · 0 评论 -
Training--安装动作栏(Action Bar)
安装动作栏(Action Bar)动作栏通常在应用界面的最上方,左边显示activity标题和应用图标。这样的动作栏对大多数activity都是有用的,用户通过查看动作栏,可以知道自己在应用中所处的位置,也可以作为你的APP的识别标志。翻译 2014-07-04 09:37:25 · 486 阅读 · 0 评论 -
Training--添加动作栏(Action Bar)
添加动作栏(ActionBar) 动作栏最重要的设计元素之一,提供给你的app的activity使用。它具备几个UI相关的特点,可以保证用户在使用你的app时,拥有体验的一致性。主要功能包括:有一个专门的地方标志你的APP,同时显示用户在APP中当前的位置。以一种非常直接而又明显的方式把重要功能提供给用户访问。(例如搜索)支持导航和视图切换(使用标签或者下拉列表。)翻译 2014-07-03 17:34:48 · 650 阅读 · 0 评论 -
Training--启动另一个Activity
启动另一个Activity 在完成了之前的课程之后,你现在已经有了一个简单的APP,简单地显示一个Activity,上面有一个文本框和一个按钮。在本课,你将在MainActivity里添加一些代码,当按钮被点击的时候,可以启动一个新的Activity。 响应Send按钮 为了使按钮响应点击事件,需要在元素里添加属性 android:onClick:翻译 2014-07-03 16:50:59 · 706 阅读 · 0 评论 -
Training--创建简单的用户界面
创建简单的用户界面 安卓的图形用户界面是基于View 和 ViewGroup 的对象层次结构(如下图所示)。View对象通常指那些UI小组件比如按钮,文本框,而ViewGroup对象是不可见的,它们通常是View组件的容器,用来布局这些View组件的,例如一个网格或者垂直列表。 Figure 1. Illustration of how ViewGroup objects翻译 2014-07-03 14:37:26 · 610 阅读 · 1 评论 -
Training--运行你的APP
运行你的APP 如果你按照上一课的步骤创建了一个工程,那么这个工程目录下已经包含了基本的源文件,你可以直接编译运行了。 如何运行你的APP取决于两方面:你是否有一个真实安卓设备或者你是否使用Eclipse。本课将向你展示如何在真实设备和模拟器上安装和运行你的APP,包括使用Eclipse或者使用命令行工具。 在开始运行你的APP之前,请了解下面这些存在于你的工程目录下的文件翻译 2014-07-03 14:19:37 · 533 阅读 · 0 评论 -
Training--创建一个安卓工程
创建一个安卓工程 一个安卓工程包括了各种文件,这些文件又称为源代码。SDK工具使工程创建变得简单起来,它可以直接在工程目录下生成一些默认的文件夹和文件。 本课阐述了如何使用Eclipse创建一个新的工程或者在命令行下使用SDK工具创建一个工程。 注意:如果你还没有安装SDK,请先下载SDK并配置环境变量。 1. 使用Eclipse创建工程1翻译 2014-07-03 14:07:41 · 419 阅读 · 0 评论 -
Training--创建你的第一个APP
创建你的第一个APP 欢迎来到安卓应用开发网站! 本课程将教会你如何创建你的第一个APP。你将会学到如何创建一个安卓工程以及运行一个可调试版本的APP。你也会学到安卓APP设计的一些基本知识,包括如何构建一个简单的UI和处理用户输入。 在开始本课程前,请确保你已经将开发环境配置完毕。你需要做如下工作:1. 下载SDK;2. 安装针对Eclipse翻译 2014-07-03 13:59:18 · 503 阅读 · 0 评论 -
Training--开始
开始 欢迎进入安卓开发者网站的培训课程。这些课程各式各样,并且附上了程序源代码,你可以查看或者在你的app里复用。这些课程被组织成了如下部分: 1. 建立你的第一个APP前提你需要安装了SDK,然后利用本课程你可以学到安卓开发的基本知识。1) 创建工程;2) 运行就用;3) 创建简单的用户界面;4) 启动另一个Activity; 2.翻译 2014-07-03 13:53:29 · 540 阅读 · 0 评论