鴻蒙OS Ability DataAbilityHelper

2020-10-27 15:19 更新

幫助應(yīng)用程序訪問數(shù)據(jù)。

DataAbilityHelper 是用于數(shù)據(jù)操作的幫助程序類。它使用 IDataAbilityObserver 注冊(cè)一個(gè)觀察器以監(jiān)視數(shù)據(jù)。您可以在不指定 Uri的情況下調(diào)用 creator(ohos.app.Context)創(chuàng)建一個(gè) DataAbilityHelper實(shí)例,或調(diào)用creator(ohos.app.Context,ohos.utils.net.Uri,boolean)創(chuàng)建一個(gè)具有給定 Uri的實(shí)例。

也可以看看:

IDataAbilityObserverContext, Uri

方法總結(jié)

修飾符和類型 方法 描述
整型 batchInsert(Uri uri,ValuesBucket []值) 將多個(gè)數(shù)據(jù)記錄插入數(shù)據(jù)庫(kù)。
PacMap call(Uri uri,String 方法,String arg,PacMap extras) 調(diào)用“數(shù)據(jù)”功能定義的方法。
靜態(tài)DataAbilityHelper creator(Context context) 創(chuàng)建一個(gè) DataAbilityHelper  實(shí)例,而不基于給定的 Context 指定 Uri。
靜態(tài)DataAbilityHelper creator(Context context,Uri uri) 根據(jù)給定的 Context 創(chuàng)建一個(gè)具有指定 Uri 的 DataAbilityHelper 實(shí)例。
靜態(tài)DataAbilityHelper creator(Context context,Uri uri,boolean tryBind) 創(chuàng)建一個(gè) DataAbilityHelper 實(shí)例。
整型 delete(Uri uri,DataAbilityPredicates 謂詞) 從數(shù)據(jù)庫(kù)中刪除一個(gè)或多個(gè)數(shù)據(jù)記錄。
Uri denormalizeUri(Uri uri) 將 normalizeUri(ohos.utils.net.Uri)生成的給定歸一化 uri 轉(zhuǎn)為非歸一化的uri 。
DataAbilityResult []  executeBatch(Uri uri,ArrayList < DataAbilityOperation >操作) 在數(shù)據(jù)庫(kù)上執(zhí)行批處理操作。
String getFileTypes(Uri uri,String mimeTypeFilter) 獲取支持的文件的 MIME 類型。
String getType(Uri uri) 獲取給定 URI 指定的日期的 MIME 類型。
整型 update(Uri uri,ValuesBucket值) 將單個(gè)數(shù)據(jù)記錄插入數(shù)據(jù)庫(kù)。
Uri normalizeUri(Uri uri) 將引用數(shù)據(jù)能力的給定 uri 轉(zhuǎn)換為規(guī)范化的 Uri。
void notifyChange(Uri uri) 通知注冊(cè)觀察者 Uri指定的數(shù)據(jù)資源已更改。
FileDescriptor openFile(Uri uri,String模式) 在指定的遠(yuǎn)程路徑中打開文件。
RawFileDescriptor openRawFile(Uri uri,String模式) 這就像 openFile(ohos.utils.net.Uri,java.lang.String)一樣,打開一個(gè)文件,該文件需要能夠返回文件的子部分,通常是其 .hap 中的資產(chǎn)。
ResultSet query(Uri uri,String []列,DataAbilityPredicates謂詞) 查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
void registerObserver(Uri uri,IDataAbilityObserver dataObserver) 注冊(cè)觀察者以觀察給定 Uri 指定的數(shù)據(jù)。
布爾值 release() 釋放數(shù)據(jù)能力的客戶資源。
void unregisterObserver(Uri uri,IDataAbilityObserver dataObserver) 注銷用于監(jiān)視給定 Uri 指定的數(shù)據(jù)的觀察者。
整型 update(Uri uri,ValuesBucket 值,DataAbilityPredicates 謂詞) 更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄。
從類 java.lang 繼承的方法。object
clone,equals,finalize,getClasshashCode,notify,notifyAlltoString,wait,wait,wait

方法細(xì)節(jié)

創(chuàng)作者

公共靜態(tài) DataAbilityHelper creator(Contextcontext)

創(chuàng)建一個(gè) DataAbilityHelper 實(shí)例,而不基于給定的 Context 指定 Uri

參數(shù):

參數(shù)名稱 參數(shù)說明
語境 指示 HarmonyOS 上的 Context 對(duì)象。

返回值:

返回創(chuàng)建的 DataAbilityHelper 實(shí)例,其中未指定 Uri。

創(chuàng)作者

公共靜態(tài) DataAbilityHelper creator(Context context,Uri uri)

根據(jù)給定的 Context 創(chuàng)建一個(gè)具有指定 Uri 的 DataAbilityHelper 實(shí)例 。

參數(shù):

參數(shù)名稱 參數(shù)說明
語境 指示 HarmonyOS 上的 Context 對(duì)象。
烏里 表示要操作的數(shù)據(jù)庫(kù)表或磁盤文件。

返回值:

返回具有指定 Uri 的創(chuàng)建的 DataAbilityHelper 實(shí)例。

創(chuàng)作者

公共靜態(tài) DataAbilityHelper creator(Contextcontext,Uri uri,布爾 tryBind)

創(chuàng)建一個(gè) DataAbilityHelper 實(shí)例。

您可以使用此方法指定要操作的數(shù)據(jù)的 Uri,并設(shè)置使用數(shù)據(jù)模板的能力(簡(jiǎn)稱 Data 能力)與 DataAbilityHelper 實(shí)例中關(guān)聯(lián)的客戶端進(jìn)程之間的綁定關(guān)系。

參數(shù):

參數(shù)名稱 參數(shù)說明
語境 指示 HarmonyOS 上的 Context 對(duì)象。
uri 指示要操作的數(shù)據(jù)庫(kù)表。
tryBind 指定相應(yīng)數(shù)據(jù)能力流程的退出是否導(dǎo)致客戶流程的退出。

返回值:

返回創(chuàng)建的 DataAbilityHelper 實(shí)例。

釋放

公共布爾發(fā)布()

釋放數(shù)據(jù)能力的客戶資源。

數(shù)據(jù)操作完成后,應(yīng)調(diào)用此方法釋放客戶端資源。

返回值:

如果資源已成功釋放,則返回 true;否則,返回 false。否則返回 false。

注冊(cè)觀察者

公共無效 registerObserver(Uri uri,IDataAbilityObserver dataObserver)Throws IllegalArgumentException

注冊(cè)觀察者以觀察給定 Uri 指定的數(shù)據(jù) 。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。
數(shù)據(jù)觀察者 指示 IDataAbilityObserver 對(duì)象。

Throws:

Throws名稱 Throws說明
IllegalArgumentException 如果參數(shù)值無效,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

通知變更

公共無效 notifyChange((Uri uri)引發(fā) IllegalArgumentException

通知注冊(cè)觀察者 Uri 指定的數(shù)據(jù)資源已更改 。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。

Throws:

Throws名稱 Throws說明
IllegalArgumentException 如果參數(shù)值無效,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

注銷觀察者

公共無效 unregisterObserver(Uri uri,IDataAbilityObserver dataObserver)Throws IllegalArgumentException

注銷用于監(jiān)視給定 Uri 指定的數(shù)據(jù)的觀察者 。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。
數(shù)據(jù)觀察者 指示 IDataAbilityObserver 對(duì)象。

Throws:

Throws名稱 Throws說明
IllegalArgumentException 如果參數(shù)值無效,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

public int insert(Uri uri,ValuesBucket value)Throws DataAbilityRemoteException

將單個(gè)數(shù)據(jù)記錄插入數(shù)據(jù)庫(kù)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。
指示要插入的數(shù)據(jù)記錄。如果此參數(shù)為 null,將插入空白行。

返回值:

返回插入的數(shù)據(jù)記錄的索引。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

batchInsert

public int batchInsert(Uri uri,ValuesBucket [] values)Throws DataAbilityRemoteException

將多個(gè)數(shù)據(jù)記錄插入數(shù)據(jù)庫(kù)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。
價(jià)值觀 指示要插入的數(shù)據(jù)記錄。

返回值:

返回插入的數(shù)據(jù)記錄數(shù)。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
IllegalArgumentException 如果參數(shù)值無效,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

刪除

public int delete(Uri uri,DataAbilityPredicates 謂詞)引發(fā) DataAbilityRemoteException

從數(shù)據(jù)庫(kù)中刪除一個(gè)或多個(gè)數(shù)據(jù)記錄。

參數(shù):

參數(shù)名稱 參數(shù)說明
烏里 指示要操作的數(shù)據(jù)的路徑。
謂詞 表示過濾條件。當(dāng)此參數(shù)為 null 時(shí),您應(yīng)該定義處理邏輯。

返回值:

返回已刪除的數(shù)據(jù)記錄數(shù)。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

更新

public int update(Uri uri,ValuesBucket value,DataAbilityPredicates 謂詞)Throws DataAbilityRemoteException

更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要更新的數(shù)據(jù)路徑。
指示要更新的數(shù)據(jù)。此參數(shù)可以為空。
謂詞 表示過濾條件。當(dāng)此參數(shù)為null時(shí),您應(yīng)該定義處理邏輯。

返回值:

返回更新的數(shù)據(jù)記錄數(shù)。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

詢問

公共 ResultSet 查詢(Uri uri,String [ ]列,DataAbilityPredicates 謂詞)Throws DataAbilityRemoteException

查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要查詢的數(shù)據(jù)路徑。
指示要查詢的列。如果此參數(shù)為 null,則查詢所有列。
謂詞 表示過濾條件。當(dāng)此參數(shù)為 null 時(shí),您應(yīng)該定義處理邏輯。

返回值:

返回查詢結(jié)果。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

執(zhí)行批處理

public DataAbilityResult [] executeBatch(Uri uri,ArrayList < DataAbilityOperation >操作)ThrowsDataAbilityRemoteException,OperationExecuteException

在數(shù)據(jù)庫(kù)上執(zhí)行批處理操作。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)路徑。
運(yùn)作 指示數(shù)據(jù)庫(kù)上數(shù)據(jù)庫(kù)操作的列表。

返回值:

以數(shù)組形式返回每個(gè)操作的結(jié)果。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
OperationExecuteException 如果發(fā)生操作異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
IllegalArgumentException 如果參數(shù)值無效,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

打開文件

public FileDescriptor openFile(Uri uri,String模式)Throws DataAbilityRemoteException,FileNotFoundException

在指定的遠(yuǎn)程路徑中打開文件。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要打開的文件的路徑。
模式 表示文件打開模式,對(duì)于只讀訪問可以為“ r”,對(duì)于只讀訪問可以為“ w”(擦除文件中當(dāng)前的任何數(shù)據(jù)),對(duì)于截?cái)嗳魏维F(xiàn)有文件的寫訪問可以為“ wt”,“ “ wa”表示只寫訪問權(quán)限,以追加到任何現(xiàn)有數(shù)據(jù);“ rw”表示對(duì)任何現(xiàn)有數(shù)據(jù)的讀寫訪問;“ rwt”表示對(duì)截?cái)嗳魏维F(xiàn)有文件的讀寫訪問。

返回值:

返回文件描述符。

Throws:

Throws名稱 Throws說明
FileNotFoundException 如果找不到該文件,則Throws此異常。
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 或 mode 為 null,則Throws此異常。

打開原始文件

public RawFileDescriptor openRawFile(Uri uri,String模式)ThrowsDataAbilityRemoteException,FileNotFoundException

這就像 openFile(ohos.utils.net.Uri,java.lang.String)一樣,打開一個(gè)文件,該文件需要能夠返回文件的子部分,通常是其 .hap 中的資產(chǎn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要打開的文件的路徑。
模式 表示文件打開模式,對(duì)于只讀訪問可以為“ r”,對(duì)于只讀訪問可以為“ w”(擦除文件中當(dāng)前的任何數(shù)據(jù)),對(duì)于截?cái)嗳魏维F(xiàn)有文件的寫訪問可以為“ wt”,“ “ wa”表示只寫訪問權(quán)限,以追加到任何現(xiàn)有數(shù)據(jù);“ rw”表示對(duì)任何現(xiàn)有數(shù)據(jù)的讀寫訪問;“ rwt”表示對(duì)截?cái)嗳魏维F(xiàn)有文件的讀寫訪問。

返回值:

返回包含文件描述符的 RawFileDescriptor 對(duì)象。

Throws:

Throws名稱 Throws說明
FileNotFoundException 如果找不到該文件,則Throws此異常。
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
IllegalStateException 如果 dataAbility 不存在,則Throws此異常。
NullPointerException 如果 uri 或 mode 為 null,則Throws此異常。

獲取文件類型

public String [] getFileTypes((Uri uri,String mimeTypeFilter)Throws DataAbilityRemoteException

獲取支持的文件的MIME類型。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要獲取的文件的路徑。
mimeTypeFilter 表示要獲取的文件的 MIME 類型。此參數(shù)不能為空。<br />1.“  / ”:獲得數(shù)據(jù)功能支持的所有類型。<br />2.“ image / ”:獲取主要類型為任何子類型的圖像的文件。<br />3.“  / jpg”:獲取其子類型為任何主要類型的 JPG 的文件。

返回值:

返回匹配的 MIME 類型。如果沒有匹配項(xiàng),則返回 null。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
NullPointerException 如果 uri 或  mimeTypeFilter 為 null,則Throws此異常。

呼叫

公共 PacMap 調(diào)用(Uri uri,String方法,String arg,PacMap 附加功能)Throws DataAbilityRemoteException

調(diào)用“數(shù)據(jù)”功能定義的方法。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示數(shù)據(jù)處理能力。
方法 指示方法名稱。
arg 指示字符串類型的參數(shù)。
extras 表示 PacMap 類型的參數(shù)。

返回值:

返回被調(diào)用方法返回的值。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
NullPointerException 如果 uri 或 method  為 null,則Throws此異常。

獲取類型

public String getType((Uri uri)Throws DataAbilityRemoteException

獲取給定URI指定的日期的MIME類型。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要操作的數(shù)據(jù)的路徑。

返回值:

返回與 uri 指定的數(shù)據(jù)匹配的 MIME 類型。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果發(fā)生遠(yuǎn)程進(jìn)程異常,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

規(guī)范化

公共Uri normalizeUri(Uri uri)引發(fā) DataAbilityRemoteException

將引用數(shù)據(jù)能力的給定 uri 轉(zhuǎn)換為規(guī)范化的 Uri。標(biāo)準(zhǔn)化的 URI 可以在設(shè)備之間使用,持久化,備份和還原。

要將標(biāo)準(zhǔn)化的URI從另一個(gè)環(huán)境轉(zhuǎn)移到當(dāng)前環(huán)境,您應(yīng)該再次調(diào)用此方法以對(duì)當(dāng)前環(huán)境的 URI 進(jìn)行重新標(biāo)準(zhǔn)化,或調(diào)用denormalizeUri(ohos.utils.net.Uri)將其轉(zhuǎn)換為可以僅在當(dāng)前環(huán)境中使用。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要規(guī)范化的 Uri 對(duì)象。

返回值:

如果數(shù)據(jù)功能支持 URI 標(biāo)準(zhǔn)化,則返回標(biāo)準(zhǔn)化的 Uri 對(duì)象;否則返回 null。

Throws:

Throws名稱 Throws說明
DataAbilityRemoteException 如果遠(yuǎn)程進(jìn)程退出,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

也可以看看:

denormalizeUri(ohos.utils.net.Uri)

非規(guī)范化

公共 Uri denormalizeUri(Uri uri)引發(fā) DataAbilityRemoteException

將 normalizeUri(ohos.utils.net.Uri)生成的給定歸一化 uri 轉(zhuǎn)換為非歸一化的 uri 。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要規(guī)范化的 Uri 對(duì)象。

返回值:

如果非規(guī)范化成功,則返回非規(guī)范化的 Uri 對(duì)象;如果沒有任何關(guān)系,則返回傳遞給此方法的原始 Uri;如果在當(dāng)前環(huán)境中找不到由規(guī)范化 Uri 標(biāo)識(shí)的數(shù)據(jù),則返回 null。

Throws:

Throws 名稱 Throws 說明
DataAbilityRemoteException 如果遠(yuǎn)程進(jìn)程退出,則Throws此異常。
NullPointerException 如果 uri 為 null,則Throws此異常。

也可以看看:

normalizeUri(ohos.utils.net.Uri)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)