
Google Android官方培训课程
文章平均质量分 69
全部学习自Google Android官方网站的Training板块,无论是对于初学Android者还是想完整了解Android的,都是最佳的学习资料。大部分地方采取意译,鄙人英文水平有限,还请不吝赐教,海涵,谢谢!
胡凯me
欢迎访问我的独立网站hukai.me
展开
-
Android Training - Volley(Lesson 0 - 序言)
写在http://hukai.me/blog/android-training-volley-index/原创 2014-06-28 17:34:16 · 8705 阅读 · 0 评论 -
Android Training - 使用IntentService执行任务(Lesson 3 - 回传任务状态给发送方)
Android Training(- 使用IntentService执行任务(Lesson 3 - 回传任务状态给发送方)原创 2014-06-28 17:27:13 · 7873 阅读 · 0 评论 -
Android Training - 使用IntentService执行任务(Lesson 2 - 发送任务给IntentService)
写在http://hukai.me/blog/android-training-18-running-background-service-lesson-2/原创 2014-06-28 17:23:41 · 8247 阅读 · 0 评论 -
Android Training - 使用IntentService执行任务(Lesson 1 - 创建IntentService)
写在http://hukai.me/blog/android-training-18-running-background-service-lesson-1/原创 2014-06-28 17:21:55 · 8529 阅读 · 0 评论 -
【Android Training - Performance】 - 管理应用的内存
这是一篇很重要的文章,Android官方更新不久,受益匪浅写在我的主站:http://hukai.me/blog/android-training-performance-managing_your_app_memory/原创 2014-03-26 13:02:15 · 8867 阅读 · 0 评论 -
【Android Training UI】创建自定义的Views(Lesson 4 - 优化View的性能)
写在我的Blog:http://kesenhoo.github.io/blog/2013/08/18/android-training-ui-creating-custom-views-lesson-4原创 2013-08-18 18:37:18 · 8179 阅读 · 0 评论 -
【Android Training UI】创建自定义的Views(Lesson 3 - 处理View的交互性)
写在我的Blog:http://hukai.me/blog/2013/08/18/android-training-ui-creating-custom-views-lesson-3/原创 2013-08-18 18:35:03 · 8919 阅读 · 0 评论 -
【Android Training UI】创建自定义Views(Lesson 2 - 自定义Drawing)
发布在我的网站:http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-2/ , 欢迎访问!自定义view的最重要的一个部分是自定义它的外观。根据你的程序的需求,自定义绘制动作可能简单也可能很复杂。这节课会演示一些最常见的操作。Overrid原创 2013-07-01 13:13:43 · 9328 阅读 · 0 评论 -
【Android Training UI】创建自定义Views(Lesson 1 - 创建一个View类)
发布在我的网站 http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-1/ ,欢迎访问!设计良好的类总是相似的。它使用一个好用的接口来封装一个特定的功能,它有效的使用CPU与内存,等等。为了成为一个设计良好的类,自定义的view应该:遵守A原创 2013-07-01 13:12:05 · 9887 阅读 · 2 评论 -
【Android Training UI】创建自定义Views(Lesson 0 - 章节概览)
发表在我的独立网站http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-0/ ,欢迎访问!Android的framework有大量的Views用来与用户进行交互并显示不同种类的数据。但是有时候你的程序有个特殊的需求,而Android内置的views组件原创 2013-07-01 13:10:03 · 9912 阅读 · 0 评论 -
【Android Training - Graphics】高效地显示Bitmap图片(Lesson 4 - 优化Bitmap的内存使用)
写在我的个人网站,欢迎访问http://kesenhoo.github.io/blog/2013/05/19/android-training-displaying-bitmaps-efficiently-lesson-4/原创 2013-05-19 16:06:03 · 8430 阅读 · 1 评论 -
【Android Training - 26】程序代码性能优化小技巧
发布在我的独立网站,欢迎移步访问http://kesenhoo.github.io/blog/2013/04/06/android-training-performance-tips/http://kesenhoo.github.io/翻译 2013-04-11 10:54:00 · 2023 阅读 · 2 评论 -
【Android Training - Multimedia】捕获照片 [Lesson 3 - 直接操控相机]
在这一节课,我们会讨论如何通过使用framework的APIs来直接控制相机的硬件。直接控制设备的相机,相比起拍照与录像来说,要复杂一些。然而,如果你想要创建一个专业的特殊的相机程序,这节课会演示这部分内容。Open the Camera Object [打开相机对象]获取到 Camera 对象是直接控制Camera的第一步。正如Android自带的相机程序一样,推荐访原创 2012-12-18 18:19:07 · 2676 阅读 · 0 评论 -
【Android Training - Multimedia】捕获照片 [Lesson 2 - 简单的录像动作]
这节课会介绍如何使用现有的Camera程序来录制一个视频。和拍照一样,我们没有必要去重新发明录像程序。大多数的Android程序都有自带Camera来进行录像。[这一课的内容大多数与前面一课类似,简要带过,一些细节不赘述了]。Request Camera Permission [请求权限] ... > android:name="android.hardware.ca原创 2012-12-18 17:16:43 · 1742 阅读 · 0 评论 -
【Android Training - Multimedia】捕获照片 [Lesson 1 - 简单的拍照动作]
这节课会介绍如何利用现有的camera程序来拍一张照片。假设你想通过你的客户端程序实现一个聚合全球天气的地图,上面会有各地的当前天气图片。那么集合图片只是你程序的一部分。你想要最简单的动作来获取图片,而不是重新发明(reinvent)一个camera。幸运的是,大多数Android设备都已经至少安装了一款相机程序。在这节课中,你会学习,如何拍照。[晕,说了这么多的话做引子,下次遇到这样的“翻译 2012-12-18 15:21:05 · 2336 阅读 · 0 评论 -
【Android Training - Multimedia】捕获照片 [Lesson 0 - 章节概览]
在多媒体流行之前,世界是沉闷(dismal)并且没有没有特色(featureless)的。还记得Gopher?[Gopher是计算机上的一个工具软件,是Internet提供的一种由菜单式驱动的信息查询工具,采用客户机/服务器模式] 。因为你的app将要成为你的用户的生活的一部分,请赋予你的app能够把用户生活装进去的功能。使用内置的Cameras,你的程序可以使得用户扩展(augment)他们翻译 2012-12-18 14:36:29 · 2328 阅读 · 0 评论 -
【Android Training - 05】与其他Apps进行交互 [ Lesson 3 - 允许其他app启动你的activity ]
前两节课主要讲了从你的app启动另外一个app。但是如果你的app可以响应前面发出的action,那么你的app应该做好响应的准备。例如,如果你创建了一个social app,它可以分享messages 或者 photos 给好友,那么最好你的app能够接收ACTION_SEND 的intent,这样当用户在其他app触发分享功能的时候,你的app能够出现在待选对话框。为了使得其他的app翻译 2012-12-03 16:24:01 · 2492 阅读 · 0 评论 -
【Android Training - 05】与其他Apps进行交互 [ Lesson 2 - 从activity获取Result ]
启动另外一个activity并不一定是单向的。你也可以启动另外一个activity然后接受一个result回来。为了接受这个result,你需要使用 startActivityForResult() (而不是startActivity())。例如,你的app可以启动一个camera程序并接受拍的照片作为result。或者你可以启动People程序并获取其中联系的人的详情作为result。翻译 2012-12-03 12:39:49 · 1984 阅读 · 0 评论 -
【Android Training - 05】与其他Apps进行交互 [ Lesson 1 - 启动到另外一个app ]
Android中最重要的功能之一就是可以利用一个带有action的"intent"使得当前app能够跳转到其他的app。例如:如果你的app拥有一个地址想要显示在地图上,你并不需要在你的app里面创建一个activity用来显示地图。你只需要使用Intent来发出查看地址的请求。Android系统则会启动能够显示地图的程序来呈现那个地址。 正如在第0章:Building Your Firs翻译 2012-12-03 11:55:25 · 2768 阅读 · 0 评论 -
【Android Training - 05】与其他Apps进行交互 [ Lesson 0 - 章节概览 ]
一个Android app通常都会有好几个activities. 每一个activity的界面都可能允许用户执行一些特殊任务(例如查看地图或者是开始拍照等)。为了让用户从一个activity跳到另外一个activity,你的app必须使用Intent来定义你的app想做的事情。当你使用startActivity()的方法,而且参数是intent时,系统会使用这个 Intent 来定义并启动合适的a翻译 2012-12-01 16:19:45 · 2085 阅读 · 0 评论 -
【Android Training - 04】保存数据 [ Lesson 3 - 保存数据到SQLite]
对于重复或者结构化的数据(如联系人信息)等保存到DB是个不错的主意。这节课假定你已经熟悉SQL数据库的操作。在Android上可能会使用到的APIs,可以从android.database.sqlite包中找到。Define a Schema and Contract [定义Schema与Contract]SQL中一个中重要的概念是schema:一种DB结构的正式声明。sc翻译 2012-11-30 18:46:53 · 2015 阅读 · 1 评论 -
【Android Training - 04】保存数据 [ Lesson 2 - 保存文件]
Android使用与其他平台类似的基于磁盘文件系统(disk-based file systems)。这节课会描述如何在Android文件系统上使用 File 的读写APIs。File 对象非常适合用来读写那种流式顺序的数据。例如,很适合用来读写图片文件或者是网络中交换的数据。这节课会演示在app中如何执行基本的文件操作任务。假定你已经对linux的文件系统与java.io中标准的I/O AP翻译 2012-11-29 16:37:47 · 2188 阅读 · 2 评论 -
【Android Training - 04】保存数据 [ Lesson 1 - 保存Key-Value]
Saving Key-Value Sets如果你有一个相对较小的key-value集合需要保存,你应该使用SharedPreferences APIs。 SharedPreferences 对象指向了一个保存key-value pairs的文件,并且它提供了简单的方法来读写这个文件。每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可分翻译 2012-11-29 13:59:45 · 2251 阅读 · 1 评论 -
【Android Training - 04】保存数据 [ Lesson 0 - 章节概览 ]
Saving Data学习前提与依赖关系:Android 1.6 (API Level 4) or higherFamiliarity with Map key-value collectionsFamiliarity with the Java file I/O APIFamiliarity with SQL databases你也应该看:Storage Opti翻译 2012-11-29 11:46:34 · 1923 阅读 · 0 评论 -
【Android Training - 03】使用Fragments建立动态的UI [ Lesson 4 - Fragment之间的通信 ]
为了重用fragment的UI组件,你必须为每个fragment建立自己的container,模块化自己的layout与行为。一旦你定义了那些可重用的fragment,你可以使用activity与他们建立联系,对那些UI组件做组合动作等。通常,你也会想要fragment-s之间能够交流。例如,基于用户事件来改变内容。所有的Fragment-to-Fragment之间的交互都是基于activ翻译 2012-11-28 18:33:59 · 3640 阅读 · 0 评论 -
【Android Training - 03】使用Fragments建立动态的UI [ Lesson 3 - 创建灵活可变的UI ]
Building a Flexible UI当把你的程序设计成可以适配一系列大小各异的屏幕时,你可以基于可使用的屏幕空间来为你的fragments设置不同的参数,从而达到重用的目的。例如:在手持设备上,一次显示一个fragment会比较合适。对应的,在平板这样屏幕比较大的设备上,你可以用多个fragment的方式来呈现出side-by-side的效果。这样能够一次显示更多的信息翻译 2012-11-28 18:00:45 · 3003 阅读 · 1 评论 -
【Android Training - 03】使用Fragments建立动态的UI [ Lesson 2 - 新建一个Fragment ]
Creating a Fragment你可以把fragment当作activity的一部分,它有自己的lifecycle,它会接受自己的输入事件。你可以在activity运行的时候增加或者拿掉fragment。(类似子activity,你可以在不同的activity中重用fragment)。这节课演示如何使用support library来创建一个继承自 Fragment 的类。翻译 2012-11-27 16:48:28 · 2613 阅读 · 0 评论 -
【Android Training - 03】使用Fragments建立动态的UI [ Lesson 1 - 使用Support Library ]
Using the Support Library [使用Support Library]Android Support Library 提供了一个包含了API库的JAR 文件,它可以允许你在你的app在更老的Android平台上使用一些比较新的API。例如,它提供了一些fragment的API,这样你可以在1.6或者更高的平台上使用fragment。这节课会演示如何使用f翻译 2012-11-27 15:08:02 · 2232 阅读 · 0 评论 -
【Android Training - 03】使用Fragments建立动态的UI [ Lesson 0 - 章节概览 ]
Building a Dynamic UI with Fragments[使用fragments来建立一个动态的UI]学习这章节的先决条件:了解Activity的基本概念 (see Managing the Activity Lifecycle)有使用 XML layouts 的经验你还需要看的有:FragmentsSupporting Tablets翻译 2012-11-27 14:38:01 · 3054 阅读 · 0 评论 -
【Android Training - Connectivity】基本网络操作 [ Lesson 3 - 详解如何解析XML数据 ]
Parsing XML Data [解析XML数据]Extensible Markup Language (XML) .[关于什么是XML就不多介绍了, 它与JSON是最常用到的]. 很多网站或博客上都提供XML feed来记录更新的信息,以便用户进行订阅读取。那么上传[?]与解析XML数据就成了app的一个常见的功能。 这一课会介绍如何解析XML文档并使用他们的数据。[关于如何解析JSO原创 2012-05-07 17:05:46 · 2096 阅读 · 0 评论 -
【Android Training - Connectivity】基本网络操作 [ Lesson 2 - 管理网络连接的常用方法 ]
Managing Network Usage [管理网络的惯用法]这一课会介绍如何细化管理使用的网络资源。如果你的程序需要执行很多网络操作,你应该提供用户设置选项来允许用户控制程序的数据偏好。例如,同步数据的频率,是否只在连接到WiFi才进行下载与上传操作,是否在漫游时使用套餐数据流量等等。这样用户才能在快到达流量上限时关闭你的程序获取数据功能。[ 显然,这非常重要 ]关于如何编写原创 2012-05-07 13:43:14 · 2788 阅读 · 1 评论 -
【Android Training - Connectivity】基本网络操作 [ Lesson 1 - 如何连接到网络的经典示例 ]
Connecting to the Network [连接到网络]这一课会演示如何实现一个简单的连接到网络的程序。它提供了一些你应该follow的最好示例,用来创建最简单的网络连接程序。请注意,想要执行网络操作首先需要在程序的manifest文件中添加下面的permissions: android:name="android.permission.INTERNET" /> a原创 2012-05-03 16:28:51 · 2727 阅读 · 0 评论 -
【Android Training - Connectivity】基本网络操作 [ Lesson 0 - 章节概览 ]
Performing Network Operations [执行网络操作]这一章会介绍一些基本的网络操作,监视网络链接(包括网络改变),让用户来控制app对网络的选择使用。还会介绍如何解析与使用XML数据。Sample CodeDownload the sampleNetworkUsage.zip通过学习下面的那些课程,你已经会学习一些原创 2012-05-03 15:21:14 · 2306 阅读 · 1 评论 -
【Android Training - 01】详解Activity生命周期 [ Lesson 4 - 重建销毁的Activity ]
Recreating an Activity [重建Activity]有几个场景中,Activity是由于正常的程序行为而被Destory的,例如当用户点击返回按钮或者是你的Activity通过调用finish()来发出停止信号。系统也有可能会在你的Activity处于stop状态且长时间不被使用,或者是在前台activity需要更多系统资源的时候把关闭后台进程,这样来获取更多翻译 2012-04-30 16:51:13 · 3001 阅读 · 3 评论 -
【Android Training - 01】详解Activity生命周期 [ Lesson 3 - 停止与重启Activity ]
Stopping and Restarting an Activity [停止与重启Activity]恰当的停止与重启你的activity是很重要的,在activity生命周期中,他们能确保用户感知到程序的存在并不会丢失他们的进度。在下面一些关键的场景中会涉及到停止与重启:用户打开最近使用app的菜单并切换你的app到另外一个app,这个时候你的app是被停止的。如果用户通翻译 2012-04-28 18:27:13 · 3013 阅读 · 7 评论 -
【Android Training - 01】详解Activity生命周期 [ Lesson 2 - 暂停与恢复Activity ]
Pausing and Resuming an Activity [暂停与恢复activity]在使用通常的app时,前端的activity有时候会被其他可见的组件而阻塞(obstructed),这样会导致当前的activity进入Pause状态。例如,当打开一个半透明的activity时 (such as one in the style of a dialog) ,之前的act翻译 2012-04-28 15:58:33 · 2442 阅读 · 1 评论 -
【Android Training - 01】详解Activity生命周期 [ Lesson 1 - 启动与销毁Activity ]
Starting an Activity [启动一个Activity]不像其他编程范式一样:程序从main()方法开始启动。Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码。系统存在启动与销毁一个activity的一套有序的回调函数。这一个课会介绍那些生命周期中最重要的回调函数,并演示如何处理启动一个activity所涉及到的回调函数。Understan翻译 2012-04-28 13:53:18 · 4305 阅读 · 2 评论 -
【Android Training - 01】详解Activity生命周期 [ Lesson 0 - 章节概览 ]
Managing the Activity Lifecycle[管理Activity生命周期]当用户进入,退出,回到你的App,在程序中的Activity 实例都经历了生命周期中的不同状态。例如,当你的activity第一次启动的时候,它来到系统的前台,开始接受用户的焦点。在此期间,Android系统调用了一系列的生命周期中的方法。如果用户执行了启动另一个activity或者切换到另一个a翻译 2012-04-27 18:34:58 · 3911 阅读 · 3 评论 -
【Android Training - 09】高效地显示Bitmap图片 [ Lesson 5 - 使用ViewPager与GridView显示图片 ]
Displaying Bitmaps in Your UI [在UI上呈现Bitmap]这一课会演示如何运用前面三节课的内容,使用后台线程与Cache机制来加载图片到 ViewPager 与 GridView 组件,并且学习处理并发与配置改变问题。[并发问题的处理确实需要好好考虑,大多数App都没有仔细考虑到这个问题,会导致浪费更多的资源,效率不够]。Load Bitmaps翻译 2012-04-26 22:27:08 · 7341 阅读 · 4 评论 -
【Android Training - 09】高效地显示Bitmap图片 [ Lesson 3 - 两种缓存Bitmap的方式 ]
Caching Bitmaps [缓存位图]加载单个Bitmap到UI是简单直接的,但是如果你需要一次加载大量的图片,事情则会变得复杂起来。在大多数情况下(例如在ListView,GridView or ViewPager), 显示图片的数量通常是没有限制的。通过循环利用子视图可以抑制内存的使用,GC(garbage collector)也会释放那些不再需要使用的bitmap。这些机制翻译 2012-04-24 12:59:37 · 8435 阅读 · 1 评论