本节简单地描述Finch YouTube视频应用的源代码,它和简单的视频列表应用不同。首先,文件被保存在两个目录中:保存第12章中的Finch视频应用的目录和第12章所依赖的Finch框架库所在的目录。YouTube应用的源文件包括:
在$(FinchVideo)/src/目录下的第12章给出的文件
$(FinchVideo)/src/com/oreilly/demo/pa/finchvideo/FinchVideo.java
FinchVideo类包含Video类,它和简单的视频应用FinchVideo.SimpleVideos的功能相同。FinchVideo.Videos类定义了一些常量,以及简单视频应用版本中所定义的内容提供者列名称。FinchVideo类和Videos类都没有包含任何可执行代码。
$(FinchVideo)/src/com/oreilly/demo/pa/finchvideo/provider/FinchVideoContent-Provider.java
该文件是主内容提供者,它提供YouTube元数据服务,并包括了基于YouTube GData API实现的异步RESTful请求。
$(FinchVideo)/lib-src/com/oreilly/demo/pa/finchvideo/provider/YouTubeHandler.java
该文件解析了YouTube GData API的响应,当有数据时,插入数据项。
在$(FinchFramework)/lib-src目录下的是Finch框架源代码
$(FinchFramework)/lib-src/com/finchframework/finch/rest/RESTfulContentProvider.java
该文件包含从Android内容提供者调用RESTful HTTP请求的简单框架。FinchVideoContentProvider类扩展了该类,从而可以重用异步管理HTTP请求的功能。
$(FinchFramework)/lib-src/com/finchframework/finch/rest/FileHandler.java
$(FinchFramework)/lib-src/com/finchframework/finch/rest/FileHandlerFactory.java
这两个文件是将下载到的URI内容缓存到文件的简单框架。它们用于响应应用对缩略图URI的请求。
$(FinchFramework)/lib-src/com/finchframework/finch/rest/ResponseHandler.java
这个文件提供从YouTube API处理下载的HTTP内容的抽象层。YouTubeHandler继承了该类。
$(FinchFramework)/lib-src/com/finchframework/finch/rest/UriRequestTask.java
这是可运行的对象,专门用于下载HTTP内容。它使用Apache HTTP客户端框架。