精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

DataAbility進行數據庫操作的簡單使用

系統 OpenHarmony
數據的存放形式多樣,可以是數據庫,也可以是磁盤上的文件。Data對外提供對數據的增、刪、改、查,以及打開文件等接口,這些接口的具體實現由開發者提供。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??

DataAbility介紹:

使用Data模板的Ability(以下簡稱“Data”)有助于應用管理其自身和其他應用存儲數據的訪問,并提供與其他應用共享數據的方法。Data既可用于同設備不同應用的數據共享,也支持跨設備不同應用的數據共享。

數據的存放形式多樣,可以是數據庫,也可以是磁盤上的文件。Data對外提供對數據的增、刪、改、查,以及打開文件等接口,這些接口的具體實現由開發者提供。

效果展示:

介紹DataAbility的使用方法,對數據庫進行數據的訪問操作。

  1. 每次插入的數據為:id=自增長主鍵;name=jack;age=23;salary=3456.0。
  2. 修改數據:修改id為2的數據,并把數據改為:name=rose;age=45;salary=1234.9。
  3. 刪除數據:刪除id為1的那一條數據。
  4. 查詢數據:查詢表中所有的數據,并且分行顯示。

新建一個DataAbility

初始化數據庫操作

我們這里以關系型數據庫為例,在DataAbility的onStart方法里邊初始化數據庫、表和字段的相關操作:

對于關系型數據庫和對象型數據庫的基本操作,可以看這一篇文章:

https://ost.51cto.com/posts/10599。

// 數據庫操作類RdbStore
private RdbStore rdbStore;
// 表名稱
private final String TABLENAME = "student";
@Override
public void onStart(Intent intent) {
super.onStart(intent);
HiLog.info(LABEL_LOG, "DataAbility onStart");

initDatabase(this);
}
// 初始化數據庫
private void initDatabase(Context context){
StoreConfig config = StoreConfig.newDefaultConfig("Student.db");
RdbOpenCallback callback = new RdbOpenCallback() {
@Override
public void onCreate(RdbStore rdbStore) {
rdbStore.executeSql("create table if not exists " + TABLENAME + "(id integer primary key autoincrement, name text not null, age integer not null, salary real)");
}
@Override
public void onUpgrade(RdbStore rdbStore, int i, int i1) {
}
};
DatabaseHelper helper = new DatabaseHelper(context);
rdbStore = helper.getRdbStore(config, 1, callback);
}

實現DataAbility類內部的增刪改查操作

在DataAbility提供對應的增刪改查方法里,實現數據庫的的增刪改查操作;這里我們使用的是關系型數據庫。

RdbStore進行查詢、修改、刪除等操作時,參數RdbPredicates需要由DataAbilityUtils類和DataAbilityPredicates對象轉換得來。

// 查詢數據
@Override
public ResultSet query(Uri uri, String[] columns, DataAbilityPredicates predicates) {
RdbPredicates rdbPredicates = DataAbilityUtils.createRdbPredicates(predicates, TABLENAME);
ResultSet resultSet = rdbStore.query(rdbPredicates, columns);
return resultSet;
}
// 插入數據
@Override
public int insert(Uri uri, ValuesBucket value) {
long res = rdbStore.insert(TABLENAME, value);
return (int)res;
}
// 刪除數據
@Override
public int delete(Uri uri, DataAbilityPredicates predicates) {
RdbPredicates rdbPredicates = DataAbilityUtils.createRdbPredicates(predicates, TABLENAME);
int res = rdbStore.delete(rdbPredicates);
return res;
}
// 修改數據
@Override
public int update(Uri uri, ValuesBucket value, DataAbilityPredicates predicates) {
RdbPredicates rdbPredicates = DataAbilityUtils.createRdbPredicates(predicates, TABLENAME);
int res = rdbStore.update(value, rdbPredicates);
return res;
}

URI介紹

Data的提供方和使用方都通過URI(Uniform Resource Identifier)來標識一個具體的數據,例如數據庫中的某個表或磁盤上的某個文件。HarmonyOS的URI仍基于URI通用標準,格式如下:

  • scheme:協議方案名,固定為“dataability”,代表Data Ability所使用的協議類型。
  • authority:設備ID。如果為跨設備場景,則為目標設備的ID;如果為本地設備場景,則不需要填寫。
  • path:資源的路徑信息,代表特定資源的位置信息。
  • query:查詢參數。
  • fragment:可以用于指示要訪問的子資源。

URI示例:

  • 跨設備場景:dataability://device_id/com.domainname.dataability.persondata/person/10。
  • 本地設備:dataability:///com.domainname.dataability.persondata/person/10。

說明

本地設備的“device_id”字段為空,因此在“dataability:”后面有三個“/”。

使用DataAbilityHelper對象調用DataAbility的增刪改查操作:

在slice里邊聲明全局變量DataAbilityHelper和Uri的對象,以便頁面進行增刪改查的操作。

1、獲取Uri的值:

2、在slice的onStart方法初始化一個DataAbilityHelper和Uri對象。

注意:由于是對本機操作,本地設備的“device_id”字段為空,因此在“dataability:”后面有三個“/”。

// 訪問DataAbility的唯一路徑
private Uri uri;
// DataAbility數據操作類
private DataAbilityHelper helper;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
helper = DataAbilityHelper.creator(this);
uri = Uri.parse("dataability:///com.example.myapplication.DataAbility");
}

新增數據:

// 增加
private boolean addData(){
ValuesBucket bucket = new ValuesBucket();
bucket.putString("name", "jack");
bucket.putInteger("age", 23);
bucket.putDouble("salary", 3456.0);
try {
int rowNum = helper.insert(uri, bucket);
return rowNum > 0 ? true : false;
} catch (Exception e) {
}
return false;
}

刪除數據:

// 刪除
private boolean deleteData(){
try {
DataAbilityPredicates predicates = new DataAbilityPredicates();
predicates.equalTo("id", 1);
int rowNum = helper.delete(uri,predicates);
return rowNum > 0 ? true : false;
} catch (Exception e) {
}
return false;
}

修改數據:

// 修改
private boolean changeData(){
ValuesBucket bucket = new ValuesBucket();
bucket.putString("name", "rose");
bucket.putInteger("age", 45);
bucket.putDouble("salary", 1234.9);
try {
DataAbilityPredicates predicates = new DataAbilityPredicates();
predicates.equalTo("id", 2);
int rowNum = helper.update(uri, bucket, predicates);
return rowNum > 0 ? true : false;
} catch (Exception e) {
}
return false;
}

查詢數據:

// 查詢
private ResultSet queryData(){
String[] strings = {
"id","name","age","salary"
};
DataAbilityPredicates predicates = new DataAbilityPredicates();
predicates.greaterThan("id", 0);
try {
ResultSet resultSet = helper.query(uri, strings, predicates);
return resultSet;
} catch (Exception e) {
}
return null;
}

總結

  1. DataAbility只是華為提供的同設備或不同設備之間的應用進行數據訪問的接口,具體的數據持久化保存還是要依賴于數據庫或者其他文件類型。
  2. RdbPredicates需要由DataAbilityUtils類和DataAbilityPredicates對象轉換得來。
  3. Data的提供方和使用方都通過URI(Uniform Resource Identifier)來標識一個具體的數據,例如數據庫中的某個表或磁盤上的某個文件。
  4. 當訪問本機應用的數據庫時,本地設備的“device_id”字段為空,因此在“dataability:”后面有三個“/”。
  5. 在slice頁面調用DataAbilityHelper對象的接口進行數據操作。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2024-04-03 10:05:02

2021-07-29 14:03:35

鴻蒙HarmonyOS應用

2011-05-25 00:00:00

數據庫設計

2011-03-17 13:23:08

數據導入導出

2011-03-01 16:30:55

Oracle

2009-07-16 14:46:48

jdbc statem

2009-08-25 16:36:16

C#進行數據庫編程

2009-07-01 10:46:57

JSP程序JSP代碼

2025-01-26 00:00:35

2010-03-30 18:48:24

Oracle 學習

2011-12-30 09:03:59

MySQL數據庫

2010-11-19 13:28:13

2017-10-31 11:55:46

sklearn數據挖掘自動化

2010-02-04 17:42:15

Android數據庫

2010-07-02 14:46:20

SQL Server數

2017-02-16 08:41:09

數據Vlookup匹配

2010-09-25 16:38:34

維護DHCP數據庫文件

2010-05-27 14:55:40

簡單備份MySQL

2024-08-01 13:12:57

2010-06-04 10:59:54

MySQL數據庫返回影
點贊
收藏

51CTO技術棧公眾號

亚洲av成人精品一区二区三区在线播放 | 久久精品嫩草影院| 99久久精品国产一区| 88xx成人精品| 久久精品一区二区免费播放| 欧美理论影院| 136国产福利精品导航| 91原创国产| 欧美三级一区二区三区| 国产不卡一区| 欧美一区二区网站| 日本国产在线播放| 婷婷五月在线视频| 国产精品亚洲人在线观看| 韩国19禁主播vip福利视频| 噜噜噜在线视频| 四虎国产精品免费久久5151| 亚洲一区二区三区视频在线播放 | 国产激情在线观看视频| 成人免费在线视频网| 国产在线视视频有精品| 欧美中文在线观看国产| 日本一级片免费| 老牛精品亚洲成av人片| 欧美日韩精品电影| 男女视频网站在线观看| 免费在线看黄| 99久久精品国产导航| 日本精品视频在线| 中文字幕av久久爽av| 国产成人久久| 欧美r级电影在线观看| 999在线免费视频| 3344国产永久在线观看视频| 国产清纯白嫩初高生在线观看91 | 国产乱人伦偷精品视频不卡| 欧美一区第一页| 青娱乐免费在线视频| 国产96在线亚洲| 欧美久久久一区| 成人免费观看视频在线观看| 中文在线字幕免费观看| 国产精品免费人成网站| 精品视频第一区| www.黄色一片| 久久se精品一区二区| 欧美一区二区.| 国产精品.www| 综合激情视频| 久久久999国产精品| 99久久久无码国产精品性| 成人午夜三级| 日韩精品影音先锋| 秋霞午夜鲁丝一区二区| 日韩亚洲国产免费| 欧美午夜精品久久久久久孕妇| 久久久亚洲精品无码| 超碰在线网站| 亚洲欧洲综合另类在线| 在线观看日韩羞羞视频| www.av在线播放| 国产欧美日韩综合| 欧美亚州在线观看| 久草在线青青草| 久久综合色鬼综合色| 国产嫩草一区二区三区在线观看| aaa级黄色片| 国产一区二区三区在线观看免费 | 中文字幕资源站| 欧美亚洲国产激情| 亚洲人成电影网站色xx| 大又大又粗又硬又爽少妇毛片| 青青视频一区二区| 日韩欧美成人一区| 日本成人在线免费| 香港久久久电影| 欧美成人精品1314www| 初高中福利视频网站| 亚洲精品a区| 精品粉嫩aⅴ一区二区三区四区| 国产成人av片| 老汉色老汉首页av亚洲| 欧美va亚洲va香蕉在线| 丰满岳乱妇一区二区 | 青青草97国产精品免费观看| 国产成人亚洲精品| 亚洲天堂自拍偷拍| 国产一区二区三区四| 亚洲曰本av电影| 亚洲毛片在线播放| 91在线精品秘密一区二区| 欧美国产视频在线观看| 成a人v在线播放| 亚洲色图另类专区| 4444亚洲人成无码网在线观看 | 日韩美女在线播放| 一区二区视频网站| 国产成人综合亚洲网站| 国产精品国产精品国产专区不卡| 亚洲 欧美 精品| 国产欧美一区二区精品仙草咪| 自拍另类欧美| av理论在线观看| 五月婷婷综合网| 亚洲欧美久久久久| 一区二区三区免费在线看| 日韩电影在线观看永久视频免费网站| 熟女俱乐部一区二区视频在线| 精品一区电影| 国内精品400部情侣激情| 久久久久无码国产精品| 日韩精品一二三| 成人av在线亚洲| 天堂在线视频免费| 国产精品乱码一区二区三区软件| 国产91沈先生在线播放| 国产私拍福利精品视频二区| 欧美日韩精品专区| 深田咏美中文字幕| 成人看的视频| 97国产在线视频| 91久久久久国产一区二区| 成人在线一区二区三区| 亚洲国产精品视频一区| 色女人在线视频| 欧美午夜电影网| 国产精品无码网站| 欧美1区免费| 国产精品久久网| 天堂在线观看免费视频| 亚洲精品日日夜夜| 嫩草影院国产精品| 精品亚洲精品| 欧美精品在线观看| 中文字幕 人妻熟女| 成人高清av在线| 自拍偷拍亚洲色图欧美| 最新日韩一区| 日韩精品在线视频| 国产亚洲欧美久久久久| 极品少妇xxxx精品少妇| 日本不卡二区高清三区| 僵尸再翻生在线观看免费国语| 欧美一区二区视频在线观看| 一级二级黄色片| 香蕉av777xxx色综合一区| 丁香婷婷久久久综合精品国产| 久草中文在线观看| 欧美午夜精品久久久久久超碰| 我和岳m愉情xxxⅹ视频| 亚洲人体大胆视频| 亚洲自拍欧美另类| 欧美69xxx| 欧美无砖专区一中文字| 娇妻被老王脔到高潮失禁视频| 国产亚洲永久域名| 国内精品视频在线播放| 日韩美女网站| 欧美日韩亚洲综合在线| 国产三级在线观看完整版| 久久久蜜桃一区二区人| 欧美日韩精品久久久免费观看| 中国字幕a在线看韩国电影| 亚洲电影成人av99爱色| 久久精品国产亚洲av麻豆色欲| 国产91精品露脸国语对白| 欧美性猛交内射兽交老熟妇| 日韩在线视频一区二区三区| 欧美另类暴力丝袜| 亚洲av无码乱码在线观看性色| 一区二区三区欧美日韩| 先锋资源在线视频| 国产一区清纯| 精品免费国产| 成人影院大全| 在线观看视频99| 91亚洲国产成人久久精品麻豆| 国产精品久久久久久久久图文区 | 欧美在线不卡一区| 少妇无套高潮一二三区| 美女网站色91| 乱子伦一区二区| 亚洲一区二区三区日本久久九| 久久久女人电视剧免费播放下载 | 激情久久久久久久久久久久久久久久| 一区二区免费在线观看| 国产精品一区二区三区av| 成人444kkkk在线观看| 成人免费视频国产| 欧美午夜丰满在线18影院| 一区二区三区四区免费| 青草av.久久免费一区| 人禽交欧美网站免费| 香蕉久久一区| 午夜精品一区二区三区在线 | 手机看片福利视频| 激情五月婷婷综合网| 18黄暴禁片在线观看| 蜜桃一区二区三区| 国产一区在线播放| 久草在线资源站资源站| 精品中文字幕久久久久久| 伊人网综合在线| 亚洲综合激情网| 精品人妻一区二区三区视频| 极品少妇一区二区三区精品视频| a级黄色小视频| 久久精品播放| 国产精品美女诱惑| 成人午夜在线| 久久久久这里只有精品| 91九色在线porn| 亚洲精品一区二区三区在线观看| 91在线视频免费播放| 最新欧美精品一区二区三区| a视频免费观看| 久久福利资源站| 国产一级爱c视频| 欧美va久久久噜噜噜久久| 国内成+人亚洲| 不卡一区视频| 国产精品电影久久久久电影网| av大片在线| 一色桃子一区二区| 天堂av一区二区三区| 在线播放国产精品二区一二区四区| 日本在线视频中文字幕| 国产欧美日韩中文久久| 50一60岁老妇女毛片| 久久99精品国产麻豆婷婷洗澡| 内射国产内射夫妻免费频道| 欧美fxxxxxx另类| 污视频在线免费观看一区二区三区| 国产精品白浆| 成人黄色在线播放| 不卡一二三区| 4438全国成人免费| 四虎av在线| 久久躁狠狠躁夜夜爽| 黄色影院在线播放| 亚洲精品成人网| 丰满少妇在线观看bd| 欧美一区二区高清| 一级黄色片在线看| 在线观看免费一区| 草久视频在线观看| 亚洲成人高清在线| 麻豆亚洲av成人无码久久精品| 中文字幕一区二区在线播放| 国产探花视频在线播放| 久久嫩草精品久久久久| 精品人妻一区二区三区免费| 精品一区二区三区香蕉蜜桃| 91制片厂毛片| 日本不卡视频在线| 免费激情视频在线观看| 久久精品五月| 可以在线看的黄色网址| 六月天综合网| 亚洲熟妇av日韩熟妇在线| 在线成人h网| 日韩精品一区二区免费| 国产精品大片免费观看| 欧美另类videosbestsex日本| 国产精品精品| av不卡在线免费观看| 国产乱码精品一区二区亚洲| 日韩精品一线二线三线| 国内黄色精品| 亚洲国产精品久久久久婷婷老年 | 日韩av最新在线观看| www.精品久久| 亚洲成人黄色网| 少妇性bbb搡bbb爽爽爽欧美| 亚洲男人天堂网| 国产69精品久久app免费版| 中文字幕久久久av一区| 免费高清在线观看| 另类美女黄大片| 色女人在线视频| 98精品国产自产在线观看| 一区二区三区短视频| 在线一区亚洲| 日本少妇高清视频| 国产日韩三级在线| 亚洲人做受高潮| 一区二区欧美国产| 美女毛片在线观看| 欧美日韩国产综合新一区| 亚洲中文字幕无码爆乳av| 欧美另类高清zo欧美| 性生活免费网站| 亚洲欧美在线免费| 日本在线视频网| 久久免费精品视频| 99精品国自产在线| 91精品国产高清久久久久久91裸体| 久久资源综合| 在线观看欧美亚洲| 一区二区三区国产在线| 自拍偷拍一区二区三区四区| 懂色av一区二区三区蜜臀| 色无极影院亚洲| 国产欧美精品在线观看| 日本a在线观看| 51午夜精品国产| 四虎影院在线域名免费观看| www国产精品视频| 人狥杂交一区欧美二区| 成人免费视频网址| 一道本一区二区三区| 一级性生活视频| 青椒成人免费视频| 亚洲男人在线天堂| 亚洲三级电影全部在线观看高清| 你懂的国产在线| 精品日韩欧美在线| 在线观看h片| 91大神福利视频在线| 欧美成人一级| 正在播放精油久久| 久久久久免费| 亚洲天堂网一区二区| 亚洲最大色网站| 国产尤物在线观看| 亚洲视频在线视频| 欧美13videosex性极品| 成人综合色站| 一区二区电影| 亚洲欧美国产中文| 欧美国产精品一区二区三区| av网站中文字幕| 亚洲精品国精品久久99热| 色呦呦久久久| 97在线资源站| 欧美在线看片| 天天爽夜夜爽视频| 中文字幕亚洲不卡| 中文字幕av免费观看| 国产亚洲欧洲黄色| 日韩一级二级| 免费亚洲一区二区| 一本一道久久综合狠狠老精东影业| aaa黄色大片| 亚洲午夜日本在线观看| 精品久久国产视频| 美女av一区二区三区| 97色婷婷成人综合在线观看| 在线播放 亚洲| 黄页网站大全一区二区| 欧美88888| 欧美精品久久99久久在免费线 | 91官网在线观看| 天天综合网天天综合| 91精品国产沙发| 香蕉视频一区二区三区| 成人在线免费观看av| 91香蕉视频在线| 中文字幕在线日本| 色777狠狠综合秋免鲁丝| 欧美激情三区| 超碰97在线看| 成人精品免费看| 国产无遮无挡120秒| 亚洲精品第一页| 欧美电影免费观看| 亚洲精品一区二区三区蜜桃久| 另类综合日韩欧美亚洲| 91麻豆精品成人一区二区| 日韩欧美专区在线| ****av在线网毛片| 欧美一区激情视频在线观看| 秋霞影院一区二区| 五月天婷婷色综合| 日韩av在线网站| 成人h在线观看| 看全色黄大色大片| 成a人片国产精品| 999视频在线| 欧美日韩高清区| 婷婷精品视频| 小明看看成人免费视频| 一区二区三区免费网站| 天堂av中文在线资源库| 国产欧美精品在线播放| 国内精品久久久久久久影视蜜臀| 人妻少妇精品视频一区二区三区| 欧美写真视频网站| 乱插在线www| 亚洲丰满在线| 成人精品免费看| 亚洲一区二区三区网站| 欧美华人在线视频| 欧美日中文字幕| 中文字幕永久免费| 欧美最猛性xxxxx直播| 午夜激情在线| 日韩欧美激情一区二区| 岛国一区二区三区| 伊人免费在线观看|