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 |