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

网站建设报价方案对比网页制作的步骤

网站建设报价方案对比,网页制作的步骤,网站建设的电销,中国好公司排名##鸿蒙核心技术##运动开发##Core File Kit(文件基础服务) 前言 在运动类应用中,能够快速导入和分析其他应用的运动记录是一个极具吸引力的功能。这不仅为用户提供便利,还能增强应用的实用性和吸引力。本文将结合鸿蒙&#xff08…

##鸿蒙核心技术##运动开发##Core File Kit(文件基础服务)

前言

在运动类应用中,能够快速导入和分析其他应用的运动记录是一个极具吸引力的功能。这不仅为用户提供便利,还能增强应用的实用性和吸引力。本文将结合鸿蒙(HarmonyOS)开发实战经验,深入解析如何实现一个运动记录选择与上传功能,让运动数据的管理更加高效。

在这里插入图片描述

一、为什么需要运动记录上传功能

运动记录上传功能允许用户将其他应用(如 Keep)的运动数据导入到我们的应用中进行分析和管理。这不仅可以丰富我们的应用数据,还能为用户提供更全面的运动分析和建议。此外,通过上传功能,用户可以轻松备份和同步他们的运动记录,无论何时何地都能查看自己的运动历史。

二、核心功能实现

1.文件选择

为了实现文件选择功能,我们使用了鸿蒙的DocumentViewPickerAPI。以下是文件选择的核心代码:

async selectFile() {if (this.isLoading) return;this.isLoading = true;try {let context = getContext(this) as common.Context; // 请确保getContext(this)返回结果为UIAbilityContextlet documentPicker = new picker.DocumentViewPicker(context);let documentSelectOptions = new picker.DocumentSelectOptions();// 选择文档的最大数目(可选)documentSelectOptions.maxSelectNumber = 1;// 选择文件的后缀类型['后缀类型描述|后缀类型'](可选) 若选择项存在多个后缀名,则每一个后缀名之间用英文逗号进行分隔(可选),后缀类型名不能超过100,选择所有文件:'所有文件(*.*)|.*';documentSelectOptions.fileSuffixFilters = ['图片(.png, .jpg)|.png,.jpg', '文档|.txt', '视频|.mp4', '.pdf','运动数据文件|.gpx,.tcx'];const result = await documentPicker.select(documentSelectOptions);if (result && result.length > 0) {const fileUri = result[0];this.selectedFilePath = fileUri;// 获取文件名this.fileName = fileUri.split('/').pop() || '未知文件';// 获取文件大小try {let file = fs.openSync(fileUri, fs.OpenMode.READ_ONLY);const stat = await fs.stat(file.fd);this.fileSize = this.formatFileSize(stat.size);} catch (error) {console.error('Failed to get file size:', error);this.fileSize = '大小未知';}promptAction.showToast({ message: '文件选择成功', duration: 2000 });}} catch (err) {console.error('Failed to select file. Cause: ' + (err as BusinessError).message);promptAction.showToast({ message: '文件选择失败', duration: 2000 });} finally {this.isLoading = false;}
}

核心点解析

DocumentViewPicker:用于选择文件的组件,支持多种文件类型。

fileSuffixFilters:设置可选择的文件类型,如图片、文档、视频等。

fs.openSyncfs.stat:用于获取文件的大小和状态信息。

promptAction.showToast:用于显示提示信息,告知用户文件选择的结果。

2.文件上传

文件上传功能是将用户选择的文件上传到服务器进行进一步处理。这里就不多写了

三、用户界面设计

为了让用户能够方便地选择和上传文件,我们需要设计一个简洁直观的用户界面。以下是用户界面的核心代码:

@Builder
pageContentBuilder() {Column() {Text('选择运动记录的文件:').fontSize(20).margin({ top: 20, bottom: 10 }).width('100%').textAlign(TextAlign.Center);// 文件选择区域Column() {if (!this.selectedFilePath) {Image($r('app.media.szxd_sport_home_setting_icon')) // 替换为你的文件图标资源.width(80).height(80).margin({ bottom: 10 });}Text(this.selectedFilePath ? this.fileName : '请选择文件').fontSize(16).width('90%').height(40).backgroundColor('#f0f0f0').borderRadius(8).padding(10).textAlign(TextAlign.Center).margin({ bottom: 10 });}.width('90%').height(150).border({ width: 1, color: '#ddd', style: BorderStyle.Dashed }).borderRadius(8).justifyContent(FlexAlign.Center).onClick(() => this.selectFile()).margin({ bottom: 20 });// 文件信息展示this.fileInfoBuilder();// 选择文件按钮Button(this.selectedFilePath ? '重新选择文件' : '选择文件').onClick(() => this.selectFile()).width('60%').height(40).fontSize(16).backgroundColor('#007dff').borderRadius(8).opacity(this.isLoading ? 0.5 : 1).enabled(!this.isLoading);// 上传按钮(如果有上传功能)if (this.selectedFilePath) {Button('上传文件').onClick(() => this.uploadFile()).width('60%').height(40).fontSize(16).backgroundColor('#07c160').borderRadius(8).margin({ top: 20 }).opacity(this.isLoading ? 0.5 : 1).enabled(!this.isLoading);}}.width('100%').height('100%').justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Center);
}

核心点解析

• 文件选择区域:通过ImageText组件展示文件选择的状态,用户点击时触发文件选择逻辑。

• 文件信息展示:通过Text组件展示文件的名称和大小信息。

• 选择文件按钮:允许用户重新选择文件。

• 上传按钮:允许用户上传已选择的文件。

四、总结

通过鸿蒙的DocumentViewPicker和相关文件操作 API,我们可以轻松实现运动记录的选择功能。

http://www.dtcms.com/wzjs/288064.html

相关文章:

  • 网站自助平台软文宣传
  • 宣传片制作app优化大师的功能有哪些
  • 上海移动官网网站建设抖音代运营收费详细价格
  • 台州网站建设 网站制作 网站设计石家庄头条今日头条新闻
  • 昆明优化网站商品seo关键词优化
  • java如何对网站做压力测试《新闻联播》 今天
  • 龙岗汤坑社区网站建设微信加精准客源软件
  • 公益网站怎么做百度一下你知道
  • 我要注册邮箱独立站seo
  • wordpress在线报名插件seo伪原创工具
  • wordpress按照视频佛山市seo推广联系方式
  • 制作xml网站地图文件站长工具视频
  • 深圳企业信息查询网seo收费
  • 做美食网站视频互联网广告价格
  • 网络电子商务购物网站关键词优化包含
  • 网站建设评语口碑营销怎么做
  • 帮做钓鱼网站会怎样中国新冠疫苗接种率
  • 门户网站建设方法南京网站制作
  • 什么网站可以自己接工程做预算百度在线识别图片
  • 网络网站建设电话西安seo霸屏
  • 可以做海报的网站seo推广小分享
  • 南京哪家网络公司做网站优化好长沙今日头条新闻
  • 企业解决方案ppt10页seo优化师就业前景
  • 遵义公司做网站找哪个公司好上海网络推广公司
  • 网站一般用什么工具做seo外包公司兴田德润
  • 协会网站方案百度官网首页入口
  • 陕西营销型网站建设宁波seo资源
  • 湛江建站程序短视频拍摄剪辑培训班
  • 宁波网站建设怎么样淘宝网络营销方式
  • 程序员 创业做网站seo点击排名器