当前位置: 首页 > news >正文

郴州网站开发公司网站优化公司有哪些

郴州网站开发公司,网站优化公司有哪些,徐州网站开发哪个好薇,vivo应用商店介绍 本实例通过列表场景实例讲解#xff0c;介绍在TaskPool线程中操作关系型数据库的方法#xff0c;涵盖单条插入、批量插入、删除和查询操作。 效果图预览 使用说明 进入页面有insert(单条数据插入)、batch insert(批量数据插入)、query(查询操作)三个按钮#xff0c;…介绍 本实例通过列表场景实例讲解介绍在TaskPool线程中操作关系型数据库的方法涵盖单条插入、批量插入、删除和查询操作。 效果图预览 使用说明 进入页面有insert(单条数据插入)、batch insert(批量数据插入)、query(查询操作)三个按钮点击query按钮后列表数据会从数据库更新列表每条后面都有删除按钮可以从数据库删除数据。 实现思路 首先构建一个关系型数据库并封装数据库操作方法涉及几个关键步骤。 通过getRdbStore方法初始化一个关系型数据库用户可以根据STORE_CONFIG配置RdbStore的参数使用Promise异步回调。 // 初始化数据库 public async initRdbStore(context: common.Context): Promisevoid {this.rdbStore await rdb.getRdbStore(context, STORE_CONFIG);await this.createTable();} 使用executeSql接口初始化数据库表结构和相关数据。 // 创建数据库表private async createTable(): Promisevoid { await this.rdbStore.executeSql(SQL_CREATE_TABLE) } 封装数据库操作方法分别为数据插入、数据删除和数据查询。 // 单条数据插入数据库 public async insertData(context: common.Context, Contact: Contact): Promisevoid {let value1 Contact.name;let value2 Contact.phone;const valueBucket: ValuesBucket {name: value1,phone: value2}if (this.rdbStore ! undefined) {let ret await this.rdbStore.insert(TABLE_NAME, valueBucket, rdb.ConflictResolution.ON_CONFLICT_REPLACE)} }// 批量插入数据库 public async batchInsertData(context: common.Context, array: ArrayContact): Promisevoid {let valueBuckets: ArrayValuesBucket [];for (let index 0; index array.length; index) {let Contact array[index] as Contact;let value1 Contact.name;let value2 Contact.phone;const valueBucket: ValuesBucket {name: value1, phone: value2}valueBuckets.push(valueBucket);}if (this.rdbStore ! undefined) {let ret await this.rdbStore.batchInsert(TABLE_NAME, valueBuckets)} }// 删除操作 public async deleteData(context: common.Context, Contact: Contact): Promiseboolean { try {predicates.or().equalTo(id, Contact.id)let row await this.rdbStore.delete(predicates);logger.info(TAG, delete contact success:${row})} catch (e) {logger.error(TAG, delete failed:, JSON.stringify(e));promptAction.showToast({message: JSON.stringify(e),duration: 2000});return false;}return true; }// 查询数据库 public async query(context: common.Context): PromiseArrayContact {if (!this.rdbStore) {logger.info(TAG, query rdbStore is null)await this.initRdbStore(context);} else {try {this.rdbStore await rdb.getRdbStore(context, STORE_CONFIG);// 默认查询所有列let resultSet: rdb.ResultSet await this.rdbStore.query(predicates);logger.info(TAG, result is JSON.stringify(resultSet.rowCount))// 处理查询到的结果数组return this.getListFromResultSet(resultSet)} catch (e) {logger.error(TAG, query result error: JSON.stringify(e))}}return []; } 创建任务池taskpool为数据库操作提供一个多线程的运行环境。 将创建好的任务放入taskpool内部任务队列。注任务不会立即执行而是等待分发到工作线程执行。 export async function taskPoolExecuteQuery(context: common.Context): PromiseArrayContact {let task: taskPool.Task new taskPool.Task(query, context); // query函数调用 需使用装饰器Concurrentlet result: ArrayContact await taskPool.execute(task) as ArrayContact; } 在使用TaskPool时执行的并发函数需要使用Concurrent装饰器修饰通过相关校验。 export async function taskPoolExecuteQuery(context: common.Context): PromiseArrayContact {try {let task: taskPool.Task new taskPool.Task(query, context); // query函数调用 需使用装饰器Concurrentlet result: ArrayContact await taskPool.execute(task) as ArrayContact;return result;} catch (err) {logger.error(TAG, query error: JSON.stringify(err));return [];} } 在taskpool线程中操作关系型数据库方法的调用。 // 单条数据插入按钮 Button(insert, { type: ButtonType.Normal, stateEffect: true }).borderRadius($r(app.integer.operate_rdb_in_taskpool_button_border_radius)).backgroundColor($r(app.color.operate_rdb_in_taskpool_button_background_color)).width($r(app.integer.operate_rdb_in_taskpool_button_width)).height($r(app.integer.operate_rdb_in_taskpool_button_height)).onClick(async () {// 单条数据插入操作taskPoolExecuteInsert(context, originalContact); })// 批量数据插入操作 taskPoolExecuteBatchInsert(context, this.sourceData);// 数据查询操作 taskPoolExecuteQuery(context).then((contact: ArrayContact) {this.dataArray.clear()this.dataArray.pushData(contact) });// 数据删除操作 taskPoolExecuteDelete(context, item).then((isDelete: boolean) {if (isDelete) {// 数据库删除成功后 操作列表数据源this.dataArray.deleteData(item)} }); 高性能知识点 本示例使用了LazyForEach进行数据懒加载LazyForEach懒加载可以通过设置cachedCount属性来指定缓存数量同时搭配组件复用能力以达到性能最优效果。 工程结构模块类型 operaterdbintaskpool // har类型 |---constant | |---RdbConst.ets // Rdb常量 |---model | |---Contact.ets // Contact数据结构 | |---DataSource.ets // 列表数据模型 |---view | |---DatabaseConnection.ets // 数据库相关操作 | |---OpetateRDBTaskPool.ets // 主页面 | |---TaskPool.ets // TaskPool线程 模块依赖 本实例依赖common模块来实现资源的调用以及路由模块来注册路由。 最后 小编在之前的鸿蒙系统扫盲中有很多朋友给我留言不同的角度的问了一些问题我明显感觉到一点那就是许多人参与鸿蒙开发但是又不知道从哪里下手因为资料太多太杂教授的人也多无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术不知道需要重点掌握哪些鸿蒙应用开发知识点而且学习时频繁踩坑最终浪费大量时间。所以有一份实用的鸿蒙HarmonyOS NEXT资料用来跟着学习是非常有必要的。  为了确保高效学习建议规划清晰的学习路线涵盖以下关键阶段 点击→【纯血版鸿蒙全套最新学习资料】希望这一份鸿蒙学习资料能够给大家带来帮助~ 鸿蒙HarmonyOS NEXT最新学习路线 ​ 该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发不仅补充了华为官网未涉及的解决方案 路线图适合人群 IT开发人员想要拓展职业边界零基础小白鸿蒙爱好者希望从0到1学习增加一项技能。技术提升/进阶跳槽发展瓶颈期提升职场竞争力快速掌握鸿蒙技术 点击→纯血版全套鸿蒙HarmonyOS学习资料 2.视频学习资料学习PDF文档 这份鸿蒙HarmonyOS NEXT资料包含了鸿蒙开发必掌握的核心知识要点内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、南向驱动、嵌入式等鸿蒙项目实战等等鸿蒙HarmonyOS NEXT技术知识点。 HarmonyOS Next 最新全套视频教程 ​​ 鸿蒙语法ArkTS、TypeScript、ArkUI教程…… 纯血版鸿蒙全套学习资料面试、文档、全套视频等 鸿蒙南向开发技术 ​​ 鸿蒙APP开发必备 ​​ 《鸿蒙 (OpenHarmony)开发基础到实战手册》 OpenHarmony北向、南向开发环境搭建 ​​ 《鸿蒙开发基础》 ​​ 《鸿蒙开发进阶》 《鸿蒙进阶实战》 ​​ 点击→纯血版全套鸿蒙HarmonyOS学习资料 总结 参与鸿蒙开发你要先认清适合你的方向如果是想从事鸿蒙应用开发方向的话可以参考本文的学习路径简单来说就是为了确保高效学习建议规划清晰的学习路线
http://www.hkea.cn/news/14515805/

相关文章:

  • 网站建设的几大原则wordpress做个人博客
  • 朝阳网站优化四川建设厅官方网站
  • 广州网站建设找新际搜索引擎优化主要包括
  • 网站开发 质保金秦皇岛黄金海岸收费吗
  • 网站加地图标记企业网站页面
  • 新手如何建网站怎么做根优酷差不多的网站
  • python免费自学网站做网站是买服务器还是买主机
  • 企业网站开发课程培训在本地做改版如何替换旧网站会影响百度收录吗
  • 番禺区营销型网站建设网络公司网站做的不错的
  • 一流的高端企业网站机械加工王
  • wordpress图片添加标签太原seo快速排名怎么样
  • 网络及建设公司网站手机怎么注册自己的网站
  • 泰安企业建站公司哪里找静态网站更新文章麻烦
  • 建站公司学习福州鼓楼区网站建设
  • 网站集约化建设项目内容百度一下就知道首页
  • 吴江区建设工程招标网站wordpress 大神
  • 做亚马逊网站费用股票大宗交易平台
  • 鲜花网站建设店网站注册界面设计
  • discuz做地方门户网站烟花外贸流程
  • 建个个人网站一年多少钱设计工作网站好
  • 深圳做二维码网站大型门户网站源码
  • 免费asp网站源码下载网站建设福州最好
  • 休闲度假村网站建设方案wordpress中view不见了
  • 专业积分商城网站制作搜索引擎查询
  • 想开个网站卖衣服的怎么做广东十大网站建设排名
  • 陶瓷网站制作为WordPress添加虚拟用户
  • 网站开发与开发网站建设公司怎么做
  • 购物商城网站建设杭州思拓网站建设
  • 产品网站建设镇江网站建设工作室
  • 深圳市做网站的顺德网站建设报价