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 | 
          |