讀古今文學網 > Android程序設計:第2版 > Finch YouTube視頻示例的源代碼結構 >

Finch YouTube視頻示例的源代碼結構

本節簡單地描述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客戶端框架。