Android开发训练文档中文翻译
基于Android官方文档Training系列课程所做的中文翻译
Sahadev_
挨踢程序员-糖炒栗子
展开
-
Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试
原文地址:http://android.xsoftlab.net/training/activity-testing/activity-functional-testing.html功能性测试包括模拟用户操作之类的组件验证。例如开发者可以通过功能性测试来验证在用户执行了UI操作之后Activity是否启动了Activity。如要为Activity创建功能性测试,测试类应当继承ActivityInst翻译 2016-11-14 11:42:48 · 2219 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:Activity测试之创建单元测试
原文地址:http://android.xsoftlab.net/training/activity-testing/activity-unit-testing.htmlActivity单元测试除了可以快速的验证Activity的状态之外,还可以验证Activity与底层组件之间的交互。单元测试通常用于测试较小的代码单元(它们通常不依赖系统或者网络资源),它们可能是一个方法,一个类或者其它组件。例如翻译 2016-11-11 13:37:07 · 2274 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:Activity测试之UI组件测试
原文地址:http://android.xsoftlab.net/training/activity-testing/activity-ui-testing.html一般来说,正因为Activity含有UI组件,所以使得用户可以与程序交互。这节课将会介绍如何测试Activity中的Button组件。在课程学习之后便可以使用相同的方法对其它UI组件进行测试。 Note:这节课中所涉及的UI测试被称翻译 2016-11-05 11:21:46 · 2173 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试
原文地址:http://android.xsoftlab.net/training/activity-testing/activity-basic-testing.html为了验证在布局与功能上没有差池,很重要的一点就是需要为每个Activity创建对应的测试类。对每个测试类还需要创建单独的测试用例,这其中包含测试环境,测试条件以及对Activity测试的测试方法。实现这些便可以进行测试并获知结果。翻译 2016-11-03 10:43:21 · 2006 阅读 · 1 评论 -
Android官方开发文档Training系列课程中文版:Activity测试之测试环境配置
原文地址:http://android.xsoftlab.net/training/activity-testing/index.html引言开发者应当将测试作为应用开发周期的一部分。良好的测试用例可以帮助开发者及早的发现Bug,同时也可以增强开发者对代码的信心。测试用例定义了一系列对象与方法,使各个测试可以独自进行。测试用例既可以组合运行,也可以重复进行。这节课的课程将会介绍如何使用Android翻译 2016-11-01 10:23:02 · 2562 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:Android的安全建议
原文地址:http://android.xsoftlab.net/training/articles/security-tips.htmlAndroid系统内置的安全策略可以有效的降低应用程序的安全问题。所以默认创建的应用程序已经包含了一定程度的安全保护措施。Android所包含的安全策略有:应用程序沙箱,它可以使APP的数据、代码与其它APP相互隔离。应用程序框架对于常见防护措施的强大实现,比翻译 2016-10-27 22:35:01 · 5971 阅读 · 4 评论 -
Android官方开发文档Training系列课程中文版:Android的JNI相关
原文地址:http://android.xsoftlab.net/training/articles/perf-jni.htmlJNI的全称为Java Native Interface,中文意思是Java本地接口。它定义了Java代码与C/C++代码之间的交互方式。它是两者的桥梁,支持从动态共享库中加载代码。虽然有些复杂,但是它的执行效率还是蛮高的。如果你对JNI还不太熟悉,那么可以通过Java N翻译 2016-10-17 18:07:21 · 10449 阅读 · 5 评论 -
Android官方开发文档Training系列课程中文版:如何避免ANR?
原文地址:http://android.xsoftlab.net/training/articles/perf-anr.html#anr尽管你写代码可能通过了世界上所有的性能测试,但是它还是可能会让人感觉到卡顿。当应用卡的不成样子时,系统会给你弹一个”Application Not Responding”的对话框。在Android中,系统会对那些长时间没有响应的应用采取一些措施:弹出一个对话框告诉用翻译 2016-10-09 10:42:03 · 3951 阅读 · 1 评论 -
Android官方开发文档Training系列课程中文版:线程执行操作之线程间通讯
原文地址:http://android.xsoftlab.net/training/multiple-threads/communicate-ui.html上节课我们学习了如何启动一项由ThreadPoolExecutor所管理的线程任务。最后这节课我们将学习如何从任务中发送结果数据给UI线程。这项手段可以使任务在执行完毕后将结果显示到UI中去。每个APP拥有独立的UI线程。只有在UI线程中创建的对翻译 2016-10-08 15:28:02 · 2170 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:线程执行操作之线程池操作
原文地址:http://android.xsoftlab.net/training/multiple-threads/run-code.html#StopThread上节课我们学习了如何定义一个类用于管理线程以及任务。这节课将会学习如何在线程池中运行任务。要做到这一点,只需要往线程池的工作队列中添加任务即可。当一条线程处于闲置状态时,那么ThreadPoolExecutor会从任务队列中取出一条任务翻译 2016-10-03 19:49:43 · 2609 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:线程执行操作之创建多线程管理器
原文地址:http://android.xsoftlab.net/training/multiple-threads/create-threadpool.html上节课我们学习了如何定义一个任务。如果只是执行一次任务,那么刚刚所学的已经基本满足要求了。如果需要针对不同的数据执行一项任务,并且同一时间只需要执行一条任务,那么IntentService可能会适合你。如果要使任务随着CPU资源的调度翻译 2016-10-02 16:43:49 · 2072 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:线程执行操作之定义线程执行代码
原文地址:http://android.xsoftlab.net/training/multiple-threads/index.html引言大量的数据处理往往需要花费很长的时间,但如果将这些工作切分并行处理,那么它的速度与效率就会提升很多。在拥有多线程处理器的设备中,系统可以使线程并行运行。比如,使用多线程将图像文件切分解码展示要比单一线程解码快得多。这章我内容们将会学习如何设置并使用多线程及线程翻译 2016-09-28 07:56:35 · 2082 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
监测设备状态变化最简单的实现方式就是为每种状态都创建一个广播接收器,然后只需在相应的广播接收器内依据当前的设备状态重新执行各自的任务即可。这种方式的不好之处就在于每次广播接收器被触发后,APP都会唤醒设备。一种比较好的解决方案就是在运行时关闭或开启广播接收器。这样也可以使在清单文件中声明的广播接收器按需触发。翻译 2016-09-27 08:55:26 · 2031 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:电池续航时间优化之检查、检测网络连接状态
原文地址:http://android.xsoftlab.net/training/monitoring-device-state/connectivity-monitoring.html通常会有一些后台服务需要连接到网络来更新数据。但是如果没有连接到互联网,或者由于网络太慢而不能完成更新,那么为什么不在连接到网络并且状况良好时再做这些工作呢?你可以使用ConnectivityManage翻译 2016-09-26 13:07:43 · 2505 阅读 · 2 评论 -
Android官方开发文档Training系列课程中文版:电池续航时间优化之检查与监测坞的状态与类型
原文地址:http://android.xsoftlab.net/training/monitoring-device-state/docking-monitoring.html 译者提示:这里说的坞是一种扩展设备,Android中比较少见,而苹果设备比较常见。我们常见的苹果设备的扩展坞就是苹果体验店的各种小型音响设备。Android设备可以被放置在若干种不同的扩展坞中。这些扩展坞包翻译 2016-09-22 08:55:17 · 2272 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:电池续航时间优化之监测电池电量及充电状态
原文地址:http://android.xsoftlab.net/training/monitoring-device-state/index.html引言作为一款优秀的APP应用,应该想方设法的降低电量的消耗。通过这节课的学习,你将有能力使APP可以基于设备的状态来调整它的功能以及行为。我们可以通过比如在断开连接时关闭后台服务,或者在电量低的时候降低更新的频率等等手段来将耗电量降翻译 2016-09-21 08:40:01 · 2502 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:布局性能优化之ListView的优化
原文地址:http://android.xsoftlab.net/training/improving-layouts/smooth-scrolling.html想要让ListView滑动流畅的关键所在是减轻主线程的负担。要确保任何的磁盘访问、网络访问、或者SQL访问都是在单独的线程中执行的。如果要测试APP的状态,可以开启StrictMode。使用后台线程使用工作线程可以使UI线翻译 2016-09-20 08:59:24 · 2032 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:布局性能优化之按需加载View
原文地址:http://android.xsoftlab.net/training/improving-layouts/loading-ondemand.html有时应用程序中会有一些很少用到的复杂布局。不论是进度指示器还是item的详情或是撤销的消息,在需要的时候加载可以降低内存的使用以及可以加快界面的渲染速度。定义ViewStubViewStub是一个轻量级的View,它没有尺翻译 2016-09-19 10:21:53 · 1873 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:布局性能优化之布局复用
原文地址:http://android.xsoftlab.net/training/improving-layouts/reusing-layouts.html尽管Android提供了种类繁多的可重用控件,但是有时你可能希望重用那些指定的布局。如果要重用这些布局,你可以使用标签与标签,它们可将另外的布局嵌入进当前的布局中。可重用布局这项功能特别强大,它可以使你创建那些复杂的可重用布局。比方翻译 2016-09-13 13:30:27 · 1754 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:布局性能优化之布局层级优化
原文地址:http://android.xsoftlab.net/training/improving-layouts/index.html引言布局是直接影响用户体验的关键部分。如果实现的不好,那么布局很有可能会导致内存紧张。Android的SDK包含的一些工具可以用来检查布局性能上的问题。结合本章的课程学习,你将有能力以最小的内存开销实现更为顺畅的UI体验。优化布局层级有翻译 2016-09-12 11:29:08 · 2152 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:性能优化建议
原文地址:http://android.xsoftlab.net/training/articles/perf-tips.html本篇文章主要介绍那些可以提升整体性能的微小优化点。它与那些能突然改观性能效果的优化手段并不属于同一类。选择正确的算法与数据结构总是我们的第一法则,但是这不是我们这篇文章要介绍的。你应当将这篇文章所提及的知识点作为日常编码的习惯,这可以提升普通代码的运行效率。下面翻译 2016-09-06 08:55:47 · 3464 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:APP的内存管理
原文地址:http://android.xsoftlab.net/training/articles/memory.html随机存储器(RAM)在任何软件运行环境中都是一块非常重要的区域,尤其是在内存受限的移动操作系统上。尽管Android的Dalvik虚拟机会进行垃圾回收,但是这不意味着APP就可以忽略所申请及所释放的内存。为了可以使垃圾回收器能清理APP所使用的内存空间,你需要防止内存翻译 2016-09-05 08:58:38 · 20010 阅读 · 5 评论 -
Android官方开发文档Training系列课程中文版:管理设备的睡眠状态
原文地址:http://android.xsoftlab.net/training/scheduling/index.html引言当Android设备处于闲置状态时,它首先屏幕会变暗,接着会关闭屏幕,最后会将CPU关闭。这些措施可以防止设备的电量迅速被耗尽。但是当APP需要的话,还是会有例外的情况:比如游戏类APP或者视频类APP需要保持屏幕常亮。有一部分APP或许不需要屏幕保翻译 2016-09-02 08:43:58 · 1832 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:后台加载数据之处理CursorLoader的查询结果
原文地址:http://android.xsoftlab.net/training/load-data-background/handle-results.html就像上节课所说的,我们应该在onCreateLoader()内使用CursorLoader来加载数据。那么在数据加载完毕之后,加载结果会通过LoaderCallbacks.onLoadFinished()方法传回到实现类中。该方法的其中一翻译 2016-08-26 07:51:33 · 2065 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:后台加载数据之使用CursorLoader进行查询
原文地址:http://android.xsoftlab.net/training/load-data-background/index.html引言在ContentProvider中查询数据是需要花点时间的。如果你直接在Activity进行查询,那么这可能会导致UI线程阻塞,并会引起”Application Not Responding”异常。就算不会发生这些事情,那么用户也能感觉到翻译 2016-08-25 08:50:05 · 2034 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:后台服务之响应IntentService的处理结果
原文地址:https://developer.android.com/training/run-background-service/report-status.html这节课主要学习如何将IntentService中的执行结果返回给请求点。一种推荐的方式就是使用 LocalBroadcastManager来实现,它会将所广播的Intent限制在APP内部。发送IntentServic翻译 2016-08-23 08:23:58 · 2084 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:后台服务之IntentService的使用
原文地址:http://android.xsoftlab.net/training/run-background-service/send-request.html上节课我们学习了如何创建IntentService类。这节课我们主要学习如何通过Intent使IntentService运行工作请求。Intent可以携带任意数据交给IntentService处理。你可以在Activity或者Fra翻译 2016-08-22 08:37:38 · 1482 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:后台服务之IntentService的创建
原文地址:http://android.xsoftlab.net/training/run-background-service/index.html引言除非特别指定,否则所有的操作都是在UI线程中执行的。不过这会引起问题,因为长时间的耗时操作会妨碍UI线程的运行。这会惹恼用户,并可能会引起系统错误。为了避免这样的情况出现,Android为此提供了一些类,可以使这些耗时操作放在单独的线翻译 2016-08-19 08:09:08 · 1579 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:键盘输入处理之处理键盘按键
原文地址:http://android.xsoftlab.net/training/keyboard-input/commands.html当用户将焦点给到可编辑文本的View时,例如EditText这种,并且该设备还拥有实体键盘,那么所有的输入都会被系统处理。然而,如果你希望可以拦截或者直接处理键盘的输入事件的话,你可以通过实现回调方法KeyEvent.Callback接口来做到。比如onK翻译 2016-08-18 08:42:39 · 1573 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:键盘输入处理之控制输入法的显示方式
原文地址:http://android.xsoftlab.net/training/keyboard-input/visibility.html当输入的焦点进入或者离开文本框时,Android会适当的显示或隐藏输入法。系统还会决定UI及文本框如何出现在输入法的上方。比如,当垂直方向上的可用空间非常紧张时,那么文本框可能就会填充输入法上方的整个区域。对于大多数的APP来说,这样的默认行为是它们所翻译 2016-08-17 08:13:03 · 1450 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:键盘输入处理之指定输入的类型
原文地址:http://android.xsoftlab.net/training/keyboard-input/index.html引言文本框接收到焦点时,Android系统会在屏幕上显示一个软键盘。为了提供最佳的用户体验,你可以指定相关输入类型的特性,以及输入法应当如何展现。除了屏幕上的软键盘之外,Android还支持实体键盘,所以APP如何与各种类型的键盘交互这件事情,就变得翻译 2016-08-16 06:08:25 · 2180 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:手势处理之ViewGroup的事件管理
原文地址:https://developer.android.com/training/gestures/viewgroup.html在ViewGroup中处理触摸事件要格外小心,因为在ViewGroup中有很多子View,而这些子View对于不同的触摸事件来说是不同的目标。要确保每个View都正确的接收了相应的触摸事件。在ViewGroup中拦截触摸事件onInterceptTouchEvent(翻译 2016-08-15 00:02:11 · 3247 阅读 · 4 评论 -
Android官方开发文档Training系列课程中文版:手势处理之拖拽或缩放
原文地址:http://android.xsoftlab.net/training/gestures/scale.html这节课主要学习如何使用触摸手势来拖动或者放大屏幕上的对象,以及使用onTouchEvent()方法来拦截触摸事件。拖动对象 如果你的重点在Android 3.0以上的版本,那么你可以使用内置的拖拽事件监听器View.OnDragListener。触摸手翻译 2016-08-12 10:33:20 · 2243 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:手势处理之多点触控处理
原文地址:http://android.xsoftlab.net/training/gestures/multi.html多点触控是指多个手指同时触摸屏幕的情况。这节课主要学习如何检查多点触控手势。记录多个触控点当多根手指同时触碰到屏幕时,系统会产生以下触摸事件:ACTION_DOWN -第一个触碰到屏幕的点。它是手势的起始事件。这个触控点的指针数据在MotionEvent对翻译 2016-08-10 08:09:52 · 1532 阅读 · 1 评论 -
Android官方开发文档Training系列课程中文版:手势处理之滚动动画及Scroller
原文地址:http://android.xsoftlab.net/training/gestures/scroll.html在Android中,滑动经常由ScrollView类来实现。任何超出容器边界的布局都应该将自己内嵌在ScrollView中,以便提供可滚动的视图效果。自定义滚动只有在特定的场景下才会被用到。这节课将会描述这样一种场景:使用scroller显示一种可滚动的效果。你可以使用Scro翻译 2016-08-07 23:02:44 · 1855 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:手势处理之记录手指移动的轨迹
原文地址:http://android.xsoftlab.net/training/gestures/movement.html这节课将会学习如何在触摸事件中记录手指移动的轨迹。当手指触摸的位置、压力或者尺寸发生变化时,ACTION_MOVE事件就会被触发。与Detecting Common Gestures中描述的一样,所有的事件都被记录在一个MotionEvent对象中。因为基于手指的触摸并不是翻译 2016-08-04 08:45:59 · 2591 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:手势处理之监测通用手势
原文地址:http://android.xsoftlab.net/training/gestures/index.html引言这节课将会学习如何使用户通过触摸手势与APP产生交互。Android提供了许多API来辅助你创建与检测手势。尽管APP不应该将触摸手势作为基本的特性,但是APP使用了触摸手势后可以使APP迅速的增长它的有益性与吸引力。为了提供一种一贯的,直观的经验,AP翻译 2016-08-02 08:38:22 · 1607 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:管理系统UI之隐藏状态条
原文地址:http://android.xsoftlab.net/training/system-ui/status.html这节课介绍了在不同的版本中隐藏状态条。隐藏状态条可以使内容展示区域更大,因此可以提供更强的身临其境的用户体验。含有状态条的APP:隐藏状态条的APP,注意这里的ActionBar同样也隐藏了。绝不要在没有状态条的时候还显示ActionBar:在A翻译 2016-08-01 08:25:24 · 1725 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:管理系统UI之变暗系统条
原文地址:http://android.xsoftlab.net/training/system-ui/index.html引言系统条(System Bars)是屏幕上的一块显示区域,专门用来显示通知,设备的通讯状态以及设备的导向。典型的System Bars与APP同时显示在屏幕上。APP展示了具体的内容,比如电影或者照片,这时可以临时性的将System Bars的图标变暗,以便减少翻译 2016-07-22 08:37:50 · 1842 阅读 · 0 评论 -
Android官方开发文档Training系列课程中文版:创建自定义View之View的优化
原文地址:http://android.xsoftlab.net/training/custom-views/optimizing-view.html现在已经完成了一个拥有良好设计的View,它即可以响应手势,又可以在状态之间过渡。为了避免View在感觉上卡顿,要确保动画始终是每秒60帧的频率。尽可能的降低频率为了使View流畅,要从调用频繁的方法中消除不必要的代码。首先从onDr翻译 2016-07-21 08:19:14 · 2336 阅读 · 0 评论