为知

展开菜单

鸿蒙Next开发日记 Day09 - 如何监听数据变化执行特定操作

鸿蒙Next开发日记 Day09 - 如何监听数据变化执行特定操作
React Native上的数据变动监听在RN上,可以使用useEffect来实现数据变化的监听,很方便。比如我想要通过监听用户输入密码的位数变化,告知用户,他的密码超过指定长度了。useEffect(() => {   if (password?.length > 6) {     ToastAndroid.showWithGravity(...

踩坑记录 - React Native 0.74尝鲜

踩坑记录 - React Native 0.74尝鲜
React Native 74版本加入了很多新特性,这里暂时不说。只说一下常见demo后,出现的一些问题。我个人电脑生产环境中,使用的是node 16 + Java 11。而rn0.74要求使用node18+与java17环境来开发Android,跟我实际工作环境差异很大,经过环境升级后虽然能跑通demo,但是却完全破坏了本地的原有工作环境配置。导致原来的项目无法调试运行了。所以建议尝鲜0.74版本的小主们,确认好自己的环境后再尝试升级。...

鸿蒙Next开发日记 Day08 - 组件属性复用

鸿蒙Next开发日记 Day08 - 组件属性复用
开发鸿蒙页面时,经常会遇到不同的组件需要应用相同的样式,这种情况该如何复用样式呢?我们拿一个Image组件为例我想设置统一设置样式为高度10vp,宽度10vp,填充模式为Cover,右间距为30vp,在加入点击缩放效果。首先先定义复用样式方法。@Extend(Image) function controlRightImageStyle() {   .height("10vp")   .wid...

鸿蒙Next开发日记 Day07 - http请求的实现

鸿蒙Next开发日记 Day07 - http请求的实现
http/https网络请求在应用开发中很常用,这里我会使用ohos.net.http来实现一个简单的网络请求。export function httpRequestGetWithHeaders(url: string, params: Record<string, Object>,   headers: Record<string, string>)...

鸿蒙Next开发日记 Day06 - 使用preferences持久化存储数据

鸿蒙Next开发日记 Day06 - 使用preferences持久化存储数据
用户首选项(Preferences):通常用于保存应用的配置信息。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。官方对于preferences的定义,是用来存放一些应用的配置信息的,如果存放复杂数据,推荐还是使用键值型数据库(KV-Store)或者关系型数据库(RelationalStore)。下面是一个简单的工具的实现。import { preferences,&n...

鸿蒙Next开发日记 Day05 - 鸿蒙模拟器介绍

鸿蒙Next开发日记 Day05 - 鸿蒙模拟器介绍
学习鸿蒙开发,一定需要有一个设备可以用来运行调试自己编写的代码才行。对于当前的鸿蒙NEXT系统覆盖范围来看,由于支持的设备很少,并且多数还处于beta状态,想找一台真机调试鸿蒙代码并不容易。而模拟器正好可以满足我们的开发需要。模拟器支持的ROM当前支持手机折叠屏平板电脑模拟器与真机的差别来自官方场景能力X86版本ARM版本应用签名模拟器不需要签名--UI开发ArkUI组件√√Web√√窗口管理√√OpenGL ES 2.0/3.0指令√√OpenGL ES 3.0扩展指令及3...

鸿蒙Next开发日记 Day03 - 屏幕翻转与全屏化

鸿蒙Next开发日记 Day03 - 屏幕翻转与全屏化
程序开发中,会经常用到屏幕的横竖屏切换,比如在全屏播放视频的时候。下面是一个切换的工具方法。/**  * 切换窗口显示模式  * @param context 上下文  * @param windowMode 显示模式 0竖屏普通模式 1竖屏沉浸式 2横屏沉浸式  */ const changeOrientation&...

鸿蒙Next开发日记 Day02 - 使用AVPlayer制作一个简易播放器

鸿蒙Next开发日记 Day02 - 使用AVPlayer制作一个简易播放器
AVPlayer:功能较完善的音视频播放ArkTS/JS API,集成了流媒体和本地资源解析,媒体资源解封装,视频解码和渲染功能,适用于对媒体资源进行端到端播放的场景,可直接播放mp4、mkv等格式的视频文件。1、创建播放器的相关回调// 注册avplayer回调函数 setAVPlayerCallback(avPlayer: media.AVPlayer) {   // startRenderFrame首帧渲染...