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,
內容供應器回呼,可將目錄推送至 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 |
|
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 |
|