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

网站开发的疑虑网站开发完要怎么部署

网站开发的疑虑,网站开发完要怎么部署,建行个人网站,桂林官网介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字…

介绍

本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能:

  1. 实现两个页面的UX:主页面和字体大小调节页面。
  2. 拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字体变大,反之变小。
  3. 字体大小支持持久化存储,再次启动时,应用内字体仍是调节后的字体大小。效果图如下所示:

相关概念

  • 字体大小调节原理:通过组件Slider滑动,获取滑动数值,将这个值通过首选项进行持久化,页面的字体通过这个值去改变大小。
  • 首选项:首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。

环境搭建

软件要求

  • DevEco Studio版本:DevEco Studio 3.1 Release。
  • OpenHarmony SDK版本:API version 9。

硬件要求

  • 开发板类型:润和RK3568开发板。
  • OpenHarmony系统:3.2 Release。

环境搭建

完成本篇Codelab我们首先要完成开发环境的搭建,本示例以RK3568开发板为例,参照以下步骤进行:

  1. 获取OpenHarmony系统版本:标准系统解决方案(二进制)。以3.2 Release版本为例:

2.搭建烧录环境。

  • 完成DevEco Device Tool的安装
  • 完成RK3568开发板的烧录

3.搭建开发环境。

  • 开始前请参考工具准备,完成DevEco Studio的安装和开发环境配置。
  • 开发环境配置完成后,请参考使用工程向导创建工程(模板选择“Empty Ability”)。
  • 工程创建完成后,选择使用真机进行调测。

代码结构解读

本篇Codelab只对核心代码进行讲解。

├──entry/src/main/ets                // ArkTS代码区
│  ├──common
│  │  ├──constants
│  │  │  ├──CommonConstants.ets      // 公共常量类
│  │  │  └──StyleConstants.ets       // 属性常量类
│  │  ├──database
│  │  │  └──PreferencesUtil.ets      // 首选项数据操作工具类
│  │  └──utils
│  │     ├──GlobalContext.ets        // 全局上下文工具类
│  │     └──Logger.ets               // 日志工具类
│  ├──entryability
│  │  └──EntryAbility.ets            // 程序入口类
│  ├──pages
│  │  ├──HomePage.ets                // 主页面
│  │  └──SetFontSizePage.ets         // 字体大小调节页面
│  ├──view
│  │  ├──ChatItemComponent.ets       // 字体大小调节页面聊天Item组件
│  │  ├──SettingItemComponent.ets    // 主页面列表Item组件
│  │  └──TitleBarComponent.ets       // 页面标题栏组件
│  └──viewmodel
│     ├──ChatData.ets                // 聊天列表数据类
│     ├──HomeViewModel.ets           // 主页面数据模型
│     ├──ItemDirection.ets           // 聊天数据位置
│     └──SettingData.ets             // 设置列表数据类
│     └──SetViewModel.ets            // 字体大小调节页面数据模型
└──entry/src/main/resources	         // 资源文件目录

保存默认大小

应用初始化时,为了保证页面中文本的正常显示。在entryAbility生命周期onCreate方法处,添加一个命名为“myPreferences”的首选项表。在表中添加一个名为“appFontSize”的字段,保存默认字体大小。代码如下所示:

// PreferencesUtil.ets
// 导入首选项数据库
import dataPreferences from '@ohos.data.preferences';export class PreferencesUtil {// 先将Promise<Preferences>保存到全局createFontPreferences(context: Context) {let fontPreferences: Function = (() => {let preferences: Promise<dataPreferences.Preferences> = dataPreferences.getPreferences(context,PREFERENCES_NAME);return preferences;});GlobalContext.getContext().setObject('getFontPreferences', fontPreferences);}// 保存默认字体大小saveDefaultFontSize(fontSize: number) {let getFontPreferences: Function =  GlobalContext.getContext().getObject('getFontPreferences') as Function;getFontPreferences().then((preferences: dataPreferences.Preferences) => {preferences.has(KEY_APP_FONT_SIZE).then(async (isExist: boolean) => {Logger.info(TAG, 'preferences has changeFontSize is ' + isExist);if (!isExist) {await preferences.put(KEY_APP_FONT_SIZE, fontSize);preferences.flush();}}).catch((err: Error) => {Logger.error(TAG, 'Has the value failed with err: ' + err);});}).catch((err: Error) => {Logger.error(TAG, 'Get the preferences failed, err: ' + err);});}
}

获取字体大小

在HomePage页面加载显示的时候,即生命周期onPageShow方法处,通过PreferencesUtil工具类中的getChangeFontSize方法读取首选项中的数据。

将读取到的数据保存到页面带有@State的变量中,通过这个变量对文本字体大小进行设置。代码如下所示:

// HomePage.ets
onPageShow() {PreferencesUtil.getChangeFontSize().then((value) => {this.changeFontSize = value;Logger.info(TAG, 'Get the value of changeFontSize: ' + this.changeFontSize);})
}
...
// PreferencesUtil.ets工具类
async getChangeFontSize() {let fontSize: number = 0;let getFontPreferences: Function = GlobalContext.getContext().getObject('getFontPreferences') as Function;fontSize = await (await getFontPreferences()).get(KEY_APP_FONT_SIZE, fontSize);return fontSize;
}

修改字体大小

在应用主页面,点击设置字体大小,可以跳转到字体大小调节页面。拖动滑块修改数据后,SetFontSizePage页面的Slider组件监听到onChange事件,改变字体大小后,调用PreferencesUtil工具类中saveChangeFontSize方法写入本条数据即可。代码如下所示:

// SetFontSizePage.ets
Slider({value: this.changeFontSize === CommonConstants.SET_SIZE_HUGE ? CommonConstants.SET_SLIDER_MAX : this.changeFontSize,min: CommonConstants.SET_SLIDER_MIN,max: CommonConstants.SET_SLIDER_MAX,step: CommonConstants.SET_SLIDER_STEP,style: SliderStyle.InSet
})....onChange(async (value: number) => {if (this.changeFontSize === 0) {this.changeFontSize = await PreferencesUtil.getChangeFontSize();this.fontSizeText = SetViewModel.getTextByFontSize(value);return;}// 获取改变后的字体大小this.changeFontSize = (value === CommonConstants.SET_SLIDER_MAX ?CommonConstants.SET_SIZE_HUGE : value);// 获取字体大小的文本this.fontSizeText = SetViewModel.getTextByFontSize(this.changeFontSize);// 保存数据PreferencesUtil.saveChangeFontSize(this.changeFontSize);})
// PreferencesUtil.ets工具类
saveChangeFontSize(fontSize: number) {let getFontPreferences: Function =  GlobalContext.getContext().getObject('getFontPreferences') as Function;getFontPreferences().then(async (preferences: dataPreferences.Preferences) => {await preferences.put(KEY_APP_FONT_SIZE, fontSize);preferences.flush();}).catch((err: Error) => {Logger.error(TAG, 'put the preferences failed, err: ' + err);});
}

总结

您已经完成了本次Codelab的学习,并了解到以下知识点:

  1. 使用Slider实现滑动条。
  2. 使用首选项实现持久化应用轻量级数据。

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频

HarmonyOS教学视频

鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程

鸿蒙生态应用开发白皮书V2.0PDF:

获取完整版白皮书方式请点击→《鸿蒙生态应用开发白皮书V2.0PDF

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册

一、入门必看

  1. 应用开发导读(ArkTS)
  2. .……

在这里插入图片描述


二、HarmonyOS 概念

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

在这里插入图片描述

三、如何快速入门?《鸿蒙基础入门学习指南》

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. .……

在这里插入图片描述


四、开发基础知识

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. .……

在这里插入图片描述


五、基于ArkTS 开发

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 7.网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. .……

在这里插入图片描述


更多了解更多鸿蒙开发的相关知识可以参考:《鸿蒙 (Harmony OS)开发学习手册

http://www.yayakq.cn/news/596264/

相关文章:

  • 在自己的网站上怎么做淘宝客抖音代运营机构常州
  • 帝国cms做笑话网站wordpress 留言功能
  • 网站推广教程上海建设工程检测网官网
  • 哪个网站做二手车买卖大厂县建设局网站
  • 网站后台字体安装网站开发的流程是怎样的
  • 网站建设升级网站开发与技术
  • 怎么免费申请网站域名龙南建设局网站
  • 重庆市建设工程质量协会网站php mysql 网站模板
  • 最便宜的购物网站排名免费搭建商城网站
  • 做图表的网站深圳网络有限公司有哪些
  • 网站服务器宽带域名备案有什么用
  • 外贸网站seo优化个人代运营一般怎么收费
  • 昆明网站如何制作注册网站需要多少
  • 免费的网站推广怎么做效果好?天津建站公司模板
  • 卡地亚官方网站制作需要多少钱网站开发好了 怎么发布
  • 专门做定制的网站用thinksns做的网站
  • 大型门户网站建设一般多少钱温州网站设计定制
  • 旅游攻略网站模板郑州 手机网站
  • 专业做网站机构网站建设项目前分析
  • 个人网站空间申请临沂网站制作案例
  • 万州建网站江苏建设厅老网站
  • 华北建设集团有限公司oa网站化妆品网站建设流程图
  • 网站建设新闻发布网站的数据库在哪里
  • 海口北京网站建设国外flash网站
  • 备案ip 查询网站查询网站查询系统网站设计报价.doc
  • 大朗网站建设公司贵州遵义最新消息
  • 网站优化技巧电脑版网页版登录入口
  • 特效炫酷的网站网站做百度联盟收入已经很低了
  • 网上购物商城网站建设青海省建设厅网站
  • 做网站的计划一级a做受片免费网站