ContentProviderHandler

public class ContentProviderHandler
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.contentprovider.ContentProviderHandler


處理程序,可抽象化內容供應器互動,並允許使用裝置端內容供應器執行不同作業。

這個類別中的所有實作都應留意目前在裝置上執行的使用者。

摘要

欄位

public static final String[] COLUMNS

public static final String COLUMN_ABSOLUTE_PATH

public static final String COLUMN_DIRECTORY

public static final String COLUMN_METADATA

public static final String COLUMN_MIME_TYPE

public static final String COLUMN_NAME

public static final String CONTENT_PROVIDER_URI

public static final String NO_RESULTS_STRING

public static final String PACKAGE_NAME

public static final String QUERY_INFO_VALUE

公用建構函式

ContentProviderHandler(ITestDevice device)

建構函式。

ContentProviderHandler(ITestDevice device, Integer userId)

公用方法

boolean contentProviderNotFound()

如果其中一個作業失敗,且找不到內容提供者,則傳回 True。

static String createEscapedContentUri(String deviceFilePath)

傳回指定裝置路徑的完整 URI 字串,並經過轉義和編碼處理,以避免非網址字元。

boolean deleteFile(String deviceFilePath)

內容提供器回呼,用於刪除 URI 位置中的檔案。

boolean doesFileExist(String deviceFilePath)

判斷裝置上是否有檔案或非空目錄。

Integer getUserId()

傳回這個例項的初始化 userId。

boolean pullDir(String deviceFilePath, File localDir)

使用內容供應器,從裝置遞迴拉取目錄內容。

boolean pullFile(String deviceFilePath, File localFile)

內容供應器回呼,可將檔案從 URI 位置提取至本機檔案。

boolean pushDir(File localFileDir, String deviceFilePath, excludedDirectories)

將目錄推送至 URI 位置的內容供應器回呼。

boolean pushFile(File fileToPush, String deviceFilePath)

將檔案推送至 URI 位置的內容供應器回呼。

boolean setUp()

確認已安裝內容供應器輔助工具 apk,並可供使用。

void tearDown()

透過內容供應器輔助程式清除裝置。

欄位

COLUMNS

public static final String[] COLUMNS

COLUMN_ABSOLUTE_PATH

public static final String COLUMN_ABSOLUTE_PATH

COLUMN_DIRECTORY

public static final String COLUMN_DIRECTORY

COLUMN_METADATA

public static final String COLUMN_METADATA

COLUMN_MIME_TYPE

public static final String COLUMN_MIME_TYPE

COLUMN_NAME

public static final String COLUMN_NAME

CONTENT_PROVIDER_URI

public static final String CONTENT_PROVIDER_URI

NO_RESULTS_STRING

public static final String NO_RESULTS_STRING

PACKAGE_NAME

public static final String PACKAGE_NAME

QUERY_INFO_VALUE

public static final String QUERY_INFO_VALUE

公用建構函式

ContentProviderHandler

public ContentProviderHandler (ITestDevice device)

建構函式。

參數
device ITestDevice

擲回
DeviceNotAvailableException

ContentProviderHandler

public ContentProviderHandler (ITestDevice device, 
                Integer userId)

參數
device ITestDevice

userId Integer

公用方法

contentProviderNotFound

public boolean contentProviderNotFound ()

如果其中一個作業失敗,且找不到內容提供者,則傳回 True。只要再次成功執行 setUp(),即可清除。

傳回
boolean

createEscapedContentUri

public static String createEscapedContentUri (String deviceFilePath)

傳回指定裝置路徑的完整 URI 字串,並經過轉義和編碼處理,以避免非網址字元。

參數
deviceFilePath String

傳回
String

deleteFile

public boolean deleteFile (String deviceFilePath)

內容供應器回呼,用於刪除 URI 位置中的檔案。檔案會從裝置內容中刪除。

參數
deviceFilePath String:裝置上要刪除的檔案路徑。

傳回
boolean 如果成功,則傳回 True,否則傳回 False

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

doesFileExist

public boolean doesFileExist (String deviceFilePath)

判斷裝置上是否有檔案或非空目錄。

參數
deviceFilePath String:裝置上用來檢查檔案是否存在的絕對檔案路徑。

傳回
boolean 如果檔案/目錄存在,則傳回 True,否則傳回 False。如果目錄為空,也會傳回 False。

擲回
DeviceNotAvailableException

getUserId

public Integer getUserId ()

傳回這個例項的初始化 userId。

傳回
Integer

pullDir

public boolean pullDir (String deviceFilePath, 
                File localDir)

使用內容供應器,以遞迴方式從裝置中提取目錄內容。

參數
deviceFilePath String:遠端來源的絕對檔案路徑

localDir File:要將檔案拉入的本機目錄

傳回
boolean true,如果檔案已成功拉取。否則傳回 false

擲回
DeviceNotAvailableException 如果與裝置的連線中斷且無法復原。

pullFile

public boolean pullFile (String deviceFilePath, 
                File localFile)

內容供應器回呼,可將檔案從 URI 位置提取至本機檔案。

參數
deviceFilePath String:裝置上要從哪裡提取檔案的路徑。

localFile File:用於儲存內容的 ERROR(/File)。如果不為空白,內容會遭到取代。

傳回
boolean 如果成功,則傳回 True,否則傳回 False

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

pushDir

public boolean pushDir (File localFileDir, 
                String deviceFilePath, 
                 excludedDirectories)

將目錄推送至 URI 位置的內容供應器回呼。

參數
localFileDir File:要推送的目錄

deviceFilePath String:裝置上的位置

excludedDirectories :未納入推送內容的目錄。

傳回
boolean 成功時傳回 True

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

pushFile

public boolean pushFile (File fileToPush, 
                String deviceFilePath)

將檔案推送至 URI 位置的內容供應器回呼。

參數
fileToPush File:要推送至裝置的 ERROR(/File)

deviceFilePath String:裝置上用來推送檔案的路徑。

傳回
boolean 如果成功,則傳回 True,否則傳回 False

擲回
com.android.tradefed.device.DeviceNotAvailableException
IllegalArgumentException
DeviceNotAvailableException

setUp

public boolean setUp ()

確認已安裝內容供應器輔助程式 APK,並可供使用。

傳回
boolean 如果已準備好使用,則傳回 True,否則傳回 False。

擲回
DeviceNotAvailableException

tearDown

public void tearDown ()

透過內容供應器輔助程式清除裝置。

擲回
DeviceNotAvailableException