自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Android Training】置顶索引

学习了Android有段时间了,感觉还是官方的英文资料学习起来收获最大。之前看了很多Android Dev Guide里面的文章,也写过几篇文章,可惜没有坚持下去。这次学习官方培训课程,决定把自己所学与大家一起分享,写的不好的地方还请多多指教,多多支持,谢谢!基础部分:(00)Building Your First App这部分相对简单,翻译起来又比较繁琐,需要的请点击这里查看原文。

2012-03-16 12:07:32 10596 16

翻译 【Android Training - 06】分享数据内容 [Lesson 3 - 在ActionBar上添加Share Action]

Adding an Easy Share Action[增加一个简单的分享Action]这一课会介绍在ActionBar 中添加一个高效率且比较友好的Share功能,会使用到ActionProvider(在Android 4.0上才被引进)。它会handle出现share功能的appearance与hehavior。在ShareActionProvider的例子里面,你之需要提供一

2012-03-31 19:16:12 5170 1

翻译 【Android Training - 06】分享数据内容 [Lesson 2 - 从其它app接收分享的内容]

Receiving Content from Other Apps[从其他app接收分享的内容]就像你的程序能够发送数据到其他程序一样,其他程序也能够简单的接收发送过来的数据。需要考虑的是用户与你的程序如何进行交互,你想要从其他程序接收哪些数据类型。例如,一个社交网络程序会希望能够从其他程序接受文本数据,像一个有趣的网址链接。Google+的Android客户端会接受文本数据与单张或者多张

2012-03-31 18:28:50 2949

翻译 【Android Training - 06】分享数据内容 [Lesson 1 - 发送分享的数据到其他App]

Sending Content to Other Apps[发送需要分享的内容到其他App]当你构建一个intent,你必须指定这个intent需要触发的actions。Android定义了一些actions,包括ACTION_SEND,这个action表明着这个intent是用来从一个activity发送数据到另外一个activity的,甚至是跨进程之间的。为了发送数据到另外一个acti

2012-03-31 14:00:23 3236

翻译 【Android Training - 06】分享数据内容 [Lesson 0 - 章节概览]

Sharing Content [分享功能的实现]Android程序中很炫的一个功能是程序之间可以互相通信。为什么要重新发明一个已经存在于另外一个程序中的功能呢,并且这个功能并非自己程序的核心部分。这一章节会讲述一些通常使用的方法来在不同程序之间通过使用Intent APIs与ActionProvider 对象来发送与接受content。Dependencies and pre

2012-03-30 10:20:51 1826

原创 【Android Training - UserInfo】记住登入用户的信息[Lesson 3 - 创建自定义的账户]

Creating a Custom Account Type[创建自定义的账户]到目前为止,我们讨论了如何使用Google APIs。但是我们应该不仅仅是只需要Google的服务而已,比如增加Sina账户,RenRen账户等。那么这一课会讲述如何创建一个自定义的账户,并且像内置的账户那样进行工作。Implement Your Custom Account Code[实现你自

2012-03-29 12:37:50 4819

原创 【Android Training - UserInfo】记住登入用户的信息[Lesson 2 - 使用OAuth2来进行身份鉴定]

Authenticating to OAuth2 Services [使用OAuth2来进行鉴定]为了安全的访问线上服务,用户需要在service上进行鉴定,他们需要提供身份的证明。对于一个程序来说,如果是访问第三方的服务,那么这个安全问题就更加复杂。【比如,你有个资料在A服务器上,但是你需要在B上面对A里面的数据进行操作,这个时候如果把登入A的帐号与密码给B去直接操作就不够安全,简单的方

2012-03-28 18:53:26 6028

原创 【Android Training - UserInfo】记住登入用户的信息[Lesson 1 - 使用AccountManager来记住用户]

Remembering Your User[记住你的用户]每个人都很喜欢自己的名字能被人记住。其中最简单,最有效的使得你的app让人喜欢的方法是记住你的用户是谁,特别是当用户升级到一台新的设备或者是在tablet希望能够像在手机上一样使用(存有同样的数据,比如书签等)。但是如何知道用户是谁,如何在新的设备上识别出他们。对于许多程序来说,可以使用AccountManager APIs来处

2012-03-27 11:12:27 8462 3

原创 【Android Training - UserInfo】记住登入用户的信息[Lesson 0 - 章节概览]

Remembering Users [记住用户]Android用户希望把自己的信息绑定到喜欢的app与设备上,那么使得你的程序更加令人喜爱的一个方法是使得它更加的人性化。Android设备知道你的使用者是谁,他们都使用过哪些服务,在哪里存储了你的数据。在得到你的用户授权的前提下,你可以使用那些信息来使得你的app更加丰富,更加人性化。在这一章节,你将学习到鉴定用户信息的多种技术,你可以:

2012-03-26 22:42:07 3737

原创 【Android Training - Connectivity】优化下载的效率[Lesson 4 - 根据网络类型更改下载模式]

Modifying your Download Patterns Based on the Connectivity Type[根据连接的网络类型来更改下载模式]并不是所有的网络类型(Wi-Fi,3G,2G,etc)对电量的消耗是同等的。不仅仅Wi-Fi电波比无线电波消耗的电量要少很多,而且不同的无线电波(3G,2G,LTE……)也存在使用不同电量的区别。Use Wi-

2012-03-26 21:36:58 3246

原创 【Android Training - Connectivity】优化下载的效率[Lesson 3 - 使用缓存来避免重复的下载]

Redundant Downloads are Redundant[重复下载是冗余的]减少下载的最基本方法是仅仅下载那些你需要的[美国人的思维还是比较直接,虽然这句话看起来比较搞笑,但是很有道理]。从数据的角度看,我们可以通过传递类似上次更新时间这样的参数来制定查询某些数据。同样,在下载图片的时候,server那边最好能够减少图片的大小,而不是让我们下载完整大小的图片。

2012-03-26 17:59:32 4416 2

原创 【Android Training - Connectivity】优化下载的效率[Lesson 2 - 调整定时更新的频率(C2DM与退避算法)]

Minimizing the Effect of Regular Updates[最小化定时更新操作的副作用]最佳的定时更新频率是不确定的,通常由设备状态,网络连接状态,用户行为与用户定义明确的偏好而决定。Optimizing Battery Life(【Android Training - 04】优化电池寿命)这一章有讨论如何根据设备状态来修改更新频率。里面介绍了当断开网络连接的

2012-03-26 16:51:45 3131

原创 【Android Training - Connectivity】优化下载的效率[Lesson 1 - 看无线电波如何影响网络操作]

Optimizing Downloads for Efficient Network Access[用有效的网络访问来最优化下载]也许使用无线电波(wireless radio)进行传输数据会是我们app最耗电的操作之一。所以为了最小化网络连接的电量消耗,懂得连接模式(connectivity model)会如何影响底层的音频硬件设备是至关重要的。这节课介绍了无线电波状态机(wir

2012-03-25 16:54:30 5066 4

原创 【Android Training - Connectivity】优化下载的效率[Lesson 0 - 章节概览]

Transferring Data Without Draining the Battery[传输数据时不要浪费电量]Dependencies and prerequisitesAndroid 2.0 (API Level 5) or higherYou should also readOptimizing Battery Life在

2012-03-24 17:30:52 3046 4

原创 【Android Training - Performance】优化电池续航能力[Lesson 4 - 按需操控Broadcast Receivers是否开启]

Manipulating Broadcast Receivers On Demand[按需操控广播接收者]简单的方法是为我们监测的状态创建一个BroadcastReceiver,并在manifest中为每一个状态进行注册监听。然后,每一个Receiver根据当前设备的状态来简单重新安排下一步执行的任务。[这句话感觉理解有点问题]上面那个方法的副作用是,设备会在每次收到广播都被唤醒,这有

2012-03-24 16:37:54 2455

原创 【Android Training - Performance】优化电池续航能力[Lesson 3 - 判断并监测网络连接状态]

Determining and Monitoring the Connectivity Status[判断并监测网络连接状态]通常我们会有一些计划的任务,比如重复闹钟,后台定时启动的任务等。但是如果我们的网络没有连接上,那么就没有必要启动那些需要连接网络的任务。我们可以使用ConnectivityManager来检查是否连接上网络,是何种网络。[通过网络的连接状况改变,相应的改变a

2012-03-23 21:09:12 2341

原创 【Android Training - Performance】优化电池续航能力[Lesson 2 - 判断设备的停驻模式与类型]

Determining and Monitoring the Docking State and Type[判断并监测设备的停驻状态与类型]在上一课中有这样一句话:In many cases, the act of charging a device is coincident with putting it into a dock.[在很多情况下,为设备充电也是一种设备停驻方

2012-03-23 19:53:12 2255

原创 【Android Training - Performance】优化电池续航能力[Lesson 1 - 监测设备的电量与充电状态]

显然,手持设备的电量需要引起很大的重视。通过这一系列的课程,可以学会如何根据设备电池状态来改变App的某些行为与功能。通过在断开连接时关闭后台服务,在电量减少时减少更新数据的频率等等操作可以在不影响用户体验的前提下,确保App对电池寿命的影响减到最小。Monitoring the Battery Level and Charging State[监测电池的电量与充电状态]当你想

2012-03-23 18:28:34 4925 2

原创 【Android Training - Multimedia】管理音频播放[Lesson 3 - 当音频输出设备突然改变]

Dealing with Audio Output Hardware [处理音频输出硬件设备]用户在播放音乐的时候有多个选择,可以使用内置的扬声器,有线耳机或者是支持A2DP的蓝牙耳机。【补充:A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定! A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰度。有A2DP的耳机就

2012-03-23 15:28:37 3109 1

原创 【Android Training - Multimedia】管理音频播放[Lesson 2 - 管理音频焦点Audio Focus]

Managing Audio Focus[管理音频焦点]很多App都可以播放音频,因此在播放前如何获取到音频焦点就显得很重要了,这样可以避免同时出现多个声音,Android使用audio focus来节制音频的播放,仅仅是获取到audio focus的App才能够播放音频。在App开始播放音频之前,它需要经过发出请求[request]->接受请求[receive]->音频焦点锁定[Au

2012-03-22 11:16:43 5203

原创 【Android Training - Multimedia】管理音频播放[Lesson 1 - 控制app的音量]

前言:如果你的App在播放音频,显然用户能够以预期的方式来控制音频是很重要的。为了保证好的用户体验,同样App能够获取音频焦点是很重要的,这样才能确保不会在同一时刻出现多个App的声音。在学习这个课程后,你将能够创建对硬件音量按钮进行响应的App,当按下音量按钮的时候需要获取到当前音频的焦点,然后以适当的方式改变音量从而进行响应用户的行为。学习前提:Android

2012-03-21 23:27:10 3684

原创 【Android Training - Performance】提高显示布局文件的性能[Lesson 3 - 按需载入视图(ViewStub的使用方法)]

Loading Views On Demand [按需载入视图]某些时候,我们需要一些很复杂的视图却仅仅很少用到。如果我们在它仅仅需要的时候再载入,这样可以减少内存的使用并且给用户带来流畅的体验。Define a ViewStub [定义ViewStub]ViewStub是一个轻量级的view,没有占有空间,没有花费draw的资源,也没有参与在任何一个layout里面。不仅

2012-03-21 18:47:13 2439

原创 【Android Training - Performance】提高显示布局文件的性能[Lesson 2 - 使用include标签重用Layout]

Re-using Layouts with 尽管Android提供了很多种小的组件可以重用,我们还需要自定义一些稍微复杂一点的小组件进行重用。我们可以使用 and 标签来对当前的layout嵌入一些其他的layout.在创建一个稍微复杂一点的layout时,重用layout是个很给力的方法。比如我们需要一个YES/NO的控制栏,包含文字提示的Progress bar。这意味着我们可以

2012-03-21 18:06:02 3718

原创 【Android Training - Performance】提高显示布局文件的性能[Lesson 1 - 优化布局层级]

Optimizing Layout Hierarchies [优化Layout层级]【Layout是Android程序影响用户体验最关键的一部分。如果布局文件不好会使得程序比较卡。SDK里面包含了一些工具用来帮助我们发现布局文件的性能问题】【这里有一个共同的误区:使用基本的Layout结构是最有效的。但是,每一个添加到系统的组件都需要初始化,进行布局,绘制的过程。比如,使用在Linea

2012-03-21 17:14:51 4869 1

翻译 【Android Training - 02】适配不同的屏幕[Lesson 3 - 实现可适配的UI流程]

Implementing Adaptative UI Flows [实现可适应的UI流程]Depending on the layout that your application is currently showing, the UI flow may be different. For example, if your application is in the dual-pane

2012-03-21 14:38:13 3152 1

原创 【Android Training - Performance】提高显示布局文件的性能[Lesson 4 - 使用ViewHolder提升ListView的性能]

Making ListView Scrolling Smooth [使得ListView滚动平滑]使得滚动ListView平滑的关键在与保持AP的UI thread与复杂的操作隔离。确保另起一个Thread来处理Disk IO,network access或者SQL access.为了测试AP的状态,可以enable StrictMode.(Android ICS 4.0上已经默认

2012-03-21 12:08:10 3253

翻译 【Android Training - 02】适配不同的屏幕[Lesson 2 - 适配不同屏幕密度]

Supporting Different Densities适配不同的屏幕密度上一篇文章和大家分享了如何适配不同大小的屏幕,有个概念需要提前弄清楚,屏幕大的不一定就分辨率高,详细请看下面的内容。This lesson shows you how to support different screen densities by providing different resources an

2012-03-20 20:32:15 3344 3

翻译 【Android Training - 02】适配不同的屏幕[Lesson 1 - 支持不同的屏幕大小]

Dependencies and prerequisites[前提条件]Android 1.6 or higher (2.1+ for the sample app)Basic knowledge of Activities and FragmentExperience building an Android User InterfaceSeveral features r

2012-03-16 21:09:57 5839 1

翻译 【Android】如何寻找出某个Intent是否可用(queryIntentActivities)

Finding out if an intent is availableSometimes you want to find if an application has registered for a certain intent. For example you want to check if a certain receiver is available and if y

2012-03-05 18:21:43 24795

Android Adb补丁文件

Android开发,适用与window下修改过最大链接数的adb补丁,下载过来直接覆盖就可以使用

2011-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除