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,
將目錄推送至 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 |
|