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 位置提取文件到本地文件的 content provider 回调。

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

常量值: “未找到结果。”

PACKAGE_NAME

public static final String PACKAGE_NAME

常量值: "android.tradefed.contentprovider"

QUERY_INFO_VALUE

public static final String QUERY_INFO_VALUE

常量值: "INFO"

字段

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 位置处文件的 content provider 回调。文件将从设备内容中删除。

参数
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 位置提取文件到本地文件的 content provider 回调。

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