胡凯

Android Training - Volley(Lesson 1 - 发送简单的请求)

| Comments

使用Volley的方式是,你通过创建一个RequestQueue并传递Request对象给它。RequestQueue管理工作线程用来执行网络操作,从Cache中读取与写入数据,以及解析Http的响应内容。Requests执行raw responses的解析,Volley会把响应的数据分发给主线程。

这节课会介绍如何使用Volley.newRequestQueue这个建立请求队列的方法来发送一个请求,在下一节课建立一个请求队列Setting Up a RequestQueue中会介绍你自己如何建立一个请求队列。

这节课也会介绍如何添加一个请求到RequesutQueue以及如何取消一个请求。

Add the INTERNET Permission

为了使用Volley,你必须添加android.permission.INTERNET权限到你的manifest文件中。没有这个权限,你的app将无法访问网络。

Use newRequestQueue

Volley提供了一个简便的方法:Volley.newRequestQueue用来为你建立一个RequestQueue,使用默认值,并启动这个队列。例如:

Android Training - Volley(Lesson 0 - 序言)

| Comments

Volley 是一个HTTP库,它能够帮助Android apps更方便的执行网络操作,最重要的是,它更快速高效。可以通过开源的 AOSP 仓库获取到Volley 。


DEPENDENCIES AND PREREQUISITES

Android 1.6 (API Level 4) or higher

YOU SHOULD ALSO SEE

使用Volley来编写一个app,请参考2013 Google I/O schedule app. 另外需要特别关注下面2个部分: * ImageLoader * BitmapCache

VIDEO - Volley:Easy,Fast Networking for Android


Volley 有如下的优点:

Android Deeper(01) - Graphic Architecture

| Comments

Android中有几个很重要的概念Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceTexture, TextureView与SurfaceFlinger。

这篇文章会介绍Android图形架构的基本构成以及它们是如何在程序framework与多媒体系统中运作的。核心关注点是,图形数据的buffer是如何在系统中传递的。如果你曾经好奇过SurfaceView与TextureView的工作方式,或者是想知道Surface与EGLSurface是如何交互的,那么这篇文章将给你解答这些疑问。You’ve come to the right place.

大多数时候,我们都不需要了解这些类的使用原理,但是学习这些它们的工作原理可以为我们提供一种Sense,用来更加高效的工作。所以这里我们学习它们是如何工作的,而不仅仅是它们是如何使用的。

BufferQueue and gralloc

BufferQueue and grallocGraphiccal的核心是BufferQueue,它的角色是连接产生图形数据的生产者与显示数据的消费者。生产者与消费者可以再两个不同的进程,那么数据在系统中进行传递就依赖于BufferQueue。

基础的用法是很直接简单的。生产者获取到一个buffer,制定了宽,高,pixel format与usage flags之后,再放到queue中。消费者获取到buffer,消费数据后,把buffer返回到queue中。

  • 生产者:dequeueBuffer() -> queueBuffer()
  • 消费者:acquireBuffer() -> releaseBuffer()

Android Notes(06) - Camera

| Comments

Android framework为各种不同的Camera与Camera的特色功能提供了支持,使得可以在应用中进行拍照与录像。这篇文章会讨论一种简便,快速的拍照录像方式,为了给用户创建定制的相机体验,文章也会概述相机的高级功能。

0)开始之前

在应用中开启Android设备的相机功能之前,应该考量如下几个问题:

  • 必须的相机硬件 - 当然不能把一个包含相机功能的应用安装到一个连相机硬件都没有的设备上。因此,应该在mainfest文件中声明需要使用到相机。
  • 快速获取图片还是定制相机 - 应用将如何使用相机?是想做一个快速的抓拍还是录制一小段视频剪辑?还是说想提供一种新的相机使用方式?如果是快速的获取一张抓拍图片或者是一小段视频剪辑,建议查看下面的3)使用已经安装的相机应用。如果是为了开发一个定制相机功能的应用,查看下面的4)创建一个相机应用
  • 存储位置 - 生成的图片与视频是只对自己的应用可见还是其它类似Gallery的应用也可以访问?即使自己的应用被卸载后也不能被其他应用访问吗?建议查看5)保存媒体文件

1)简要概述

Android framework通过提供Camera API来支持拍照与录制视频的功能。下面是相关的类: