编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/environment.html要在应用中使用OpenGL ES绘制图像,我们必须为它们创建一个View容器。一种比较直接的方法是实现GLSurfaceView类和GLSurfaceView.Renderer类。其中,GLSurfaceView是一个View容器,它用来存放使用OpenGL绘制的图形,而GLSurfaceView.Renderer则用来控制在该View中绘制的内容。
编写:jdneo - 原文:http://developer.android.com/training/graphics/opengl/index.htmlAndroid框架提供了大量的标准工具,用来创建吸引人的,功能丰富的图形界面。然而,如果我们希望应用在屏幕上所绘制的内容进行更多的控制,或者正在尝试建立三维图像,那么我们就需要一个不同的工具了。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/display-bitmap.html这一课会演示如何运用前面几节课的内容,使用后台线程与缓存机制将图片加载到ViewPager与GridView控件,并且学习处理并发与配置改变问题。实现加载图片到ViewPagerSwipe View Pattern是一个使用滑动来切换显示不同详情页面的设计模型。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/manage-memory.html这节课将作为缓存Bitmaps课程的进一步延伸。为了优化垃圾回收机制与Bitmap的重用,我们还有一些特定的事情可以做。 同时根据Android的不同版本,推荐的策略会有所差异。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html将单个Bitmap加载到UI是简单直接的,但是如果我们需要一次性加载大量的图片,事情则会变得复杂起来。在大多数情况下(例如在使用ListView,GridView或ViewPager时),屏幕上的图片和因滑动将要显示的图片的数量通常是没有限制的。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/process-bitmap.html在上一课中介绍了一系列的BitmapFactory.decode*方法,当图片来源是网络或者是存储卡时(或者是任何不在内存中的形式),这些方法都不应该在UI 线程中执行。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html图片有不同的形状与大小。在大多数情况下它们的实际大小都比需要呈现的尺寸大很多。例如,系统的图库应用会显示那些我们使用相机拍摄的照片,但是那些图片的分辨率通常都比设备屏幕的分辨率要高很多。
编写:kesenhoo - 原文:http://developer.android.com/training/displaying-bitmaps/index.html这一章节会介绍一些处理与加载Bitmap对象的常用方法,这些技术能够使得程序的UI不会被阻塞,并且可以避免程序超出内存限制。如果我们不注意这些,Bitmaps会迅速的消耗掉可用内存从而导致程序崩溃,出现下面的异常:java.lang.OutofMemoryError: bitmap size exceeds VM budget.
编写:kesenhoo - 原文:http://developer.android.com/training/building-graphics.html这些课程教你如何使用图形完成任务,这会使你的app在竞争中占优势。如果你想创建超越基本用户界面的漂亮的视觉体验,这些课程会帮助你做到。高效显示Bitmap(Displaying Bitmaps Efficiently)如何在加载并处理bitmaps的同时保持用户界面响应,防止超出内存限制。
编写:jdneo - 原文:http://developer.android.com/training/printing/custom-docs.html对于有些应用,比如绘图应用,页面布局应用和其它一些关注于图像输出的应用,创造出精美的打印页面将是它的核心功能。在这种情况下,仅仅打印一幅图片或一个HTML文档就不够了。
编写:jdneo - 原文:http://developer.android.com/training/printing/html-docs.html如果要在Android上打印比一副照片更丰富的内容,我们需要将文本和图片组合在一个待打印的文档中。Android框架提供了一种使用HTML语言来构建文档并进行打印的方法,它使用的代码数量是很小的。WebView类在Android 4.4(API Level 19)中得到了更新,使得它可以打印HTML内容。
编写:jdneo - 原文:http://developer.android.com/training/printing/photos.html拍摄并分享照片是移动设备最流行的用法之一。如果我们的应用拍摄了照片,并期望可以展示他们,或者允许用户共享照片,那么我们就应该考虑让应用可以打印出这些照片来。
编写:jdneo - 原文:http://developer.android.com/training/printing/index.htmlAndroid用户经常需要在设备上单独地阅览信息,但有时候也需要为了分享信息而不得不给其他人看自己设备的屏幕,这显然不是分享信息的好办法。
编写:kesenhoo - :http://developer.android.com/training/camera/cameradirect.html在这一节课,我们会讨论如何通过使用Android框架所提供的API来直接控制相机硬件。直接控制相机,比起向已有的相机应用请求图片或视频,要复杂一些。这节课将会讲解如何创建一个特殊的相机应用或将相机整合在我们的应用当中。打开相机对象获取一个 Camera 对象是直接控制相机的第一步。
编写:kesenhoo - 原文:http://developer.android.com/training/camera/videobasics.html这节课会介绍如何使用已有的相机应用来录制视频。假设在我们应用的所有功能当中,整合视频只是其中的一小部分,我们想要以最简单的方法录制视频,而不是重新实现一个摄像机组件。幸运的是,大多数Android设备已经安装了一个能录制视频的相机应用。
编写:kesenhoo - 原文:http://developer.android.com/training/camera/photobasics.html这节课将讲解如何使用已有的相机应用拍摄照片。假设我们正在实现一个基于人群的气象服务,通过应用客户端拍下的天气图片汇聚在一起,可以组成全球气象图。整合图片只是应用的一小部分,我们想要通过最简单的方式获取图片,而不是重新设计并实现一个具有相机功能的组件。
编写:kesenhoo - 原文:http://developer.android.com/training/camera/index.html在多媒体技术还未流行之时,我们的世界并不像现在这样多姿多彩。还记得Gopher吗?(Gopher是计算机上的一个工具软件,是Internet提供的一种由菜单式驱动的信息查询工具,采用客户机/服务器模式)。
编写:kesenhoo - 原文:http://developer.android.com/training/managing-audio/audio-output.html当用户想要通过Android设备欣赏音乐的时候,他可以有多种选择,大多数设备拥有内置的扬声器,有线耳机,也有其它很多设备支持蓝牙连接,有些甚至还支持A2DP蓝牙音频传输模型协定。(译注:A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定!
编写:kesenhoo - 原文:http://developer.android.com/training/managing-audio/audio-focus.html由于可能会有多个应用可以播放音频,所以我们应当考虑一下他们应该如何交互。为了防止多个音乐播放应用同时播放音频,Android使用音频焦点(Audio Focus)来控制音频的播放——即只有获取到音频焦点的应用才能够播放音频。
编写:kesenhoo - 原文:http://developer.android.com/training/managing-audio/volume-playback.html良好的用户体验应该是可预期且可控的。如果我们的应用可以播放音频,那么显然我们需要做到能够通过硬件按钮,软件按钮,蓝牙耳麦等来控制音量。
关注时代Java