ContentProviderHandler

public class ContentProviderHandler
extends Object

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


這個處理常式會將內容供應器互動抽象化,並允許將裝置端內容供應器用於不同作業。

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

摘要

常數

String COLUMN_ABSOLUTE_PATH

String COLUMN_DIRECTORY

String COLUMN_METADATA

String COLUMN_MIME_TYPE

String COLUMN_NAME

String CONTENT_PROVIDER_URI

String NO_RESULTS_STRING

String PACKAGE_NAME

String QUERY_INFO_VALUE

欄位

public static final String[] COLUMNS

公用建構函式

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)

判斷裝置上是否存在檔案或非空白目錄。

IRunUtil getRunUtil()
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 位置。

void setRunUtil(IRunUtil runUtil)
boolean setUp()

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

void tearDown()

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

常數

COLUMN_ABSOLUTE_PATH

public static final String COLUMN_ABSOLUTE_PATH

常數值: "absolute_path"

COLUMN_DIRECTORY

public static final String COLUMN_DIRECTORY

常數值: "is_directory"

COLUMN_METADATA

public static final String COLUMN_METADATA

常數值: "metadata"

COLUMN_MIME_TYPE

public static final String COLUMN_MIME_TYPE

常數值: "mime_type"

COLUMN_NAME

public static final String COLUMN_NAME

常數值: "name"

CONTENT_PROVIDER_URI

public static final String CONTENT_PROVIDER_URI

常數值: "content://android.tradefed.contentprovider"

NO_RESULTS_STRING

public static final String NO_RESULTS_STRING

常數值: 「No result found.」

PACKAGE_NAME

public static final String PACKAGE_NAME

常數值: "android.tradefed.contentprovider"

QUERY_INFO_VALUE

public static final String QUERY_INFO_VALUE

常數值: "INFO"

欄位

COLUMNS

public static final String[] COLUMNS

公用建構函式

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

getRunUtil

public IRunUtil getRunUtil ()

傳回
IRunUtil

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

setRunUtil

public void setRunUtil (IRunUtil runUtil)

參數
runUtil IRunUtil

setUp

public boolean setUp ()

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

傳回
boolean 如果已可使用,則為 True,否則為 False。

擲回
DeviceNotAvailableException

tearDown

public void tearDown ()

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

擲回
DeviceNotAvailableException