自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

I_did_it的博客

Peter编程工作室

  • 博客(93)
  • 收藏
  • 关注

原创 iOS第6篇 应用生命周期监听

iOS生命周期监听

2025-03-24 21:24:21 119

原创 IOS第五篇 SwiftUI一次开发 多端部署模版

【代码】IOS第五篇 SwiftUI一次开发 多端部署模版。

2025-03-24 21:14:55 231

原创 IOS第4篇 SwiftUI中 SignInWithAPPButton苹果登录

1 手机安装需要安装权限 钥匙串密码 电脑开机密码(电脑配置)2 设置->通用->设备管理->接受相应设备安装的APP (手机配置)

2025-03-23 19:47:54 331

原创 IOS第3篇 Xcode中Git使用

1。

2025-03-23 19:39:15 165

原创 鸿蒙第80篇 鸿蒙编辑器devEcoStudio断点使用

断点调试

2025-03-20 22:58:31 142

原创 IOS第2篇 Swift代码保存自动代码格式化

但是每次手动并不是我们想要的最终方案,我们希望操作可以再简化点:保存代码的同时就自动对代码进行格式化~~~菜单下看到它,但是目前它还是不能工作的,还需要进一步配置。预提交代码之前对其格式进行自动化,确保代码规范,有助于提高。文件的时候,就会自动触发代码格式化了,非常nice ~~~最后,我们还需要为它配置运行权限,不然会报错。这一项,添加一个新的快捷键,应用程序选择。,删除多余的括号,并纠正许多其他与标准。操作到这里,我们的代码就可以用。)的时候,自动进行代码格式化。按钮,里面的代码会自动高亮。

2025-03-20 22:39:32 658

原创 IOS第1篇 Xcode使用

1。

2025-03-19 22:21:04 84

原创 79 Canvas绘制性能优化 离屏渲染

4需要注意的是要离瓶渲染看不见需要在onReady里面给显示出来,或者o n tou ch手指抬起来的时候。5 如果有图片编辑的话,图片渲染的时候可以单独开一个Worker线程。1 使用自定义容器NodeControler来实现画布的上树。2 单独创建一个组件,然后渲染到根结点中。3 单独创建的这个组件使用离瓶渲染。

2025-03-19 21:56:14 154

原创 78 鸿蒙应用开发代码规范

【级别】要求【描述】每个语句的变量声明都应只声明一个变量。这种方式更易添加变量声明,不用考虑将;变成,,以免引入错误。另外,每个语句只声明一个变量,用debugger逐个调试也很方便,而不是一次跳过所有变量。【反例】pointY = 0;【正例】

2025-03-11 00:39:55 911

原创 77 鸿蒙TextArea文字粘贴到剪切板

【代码】77 鸿蒙TextArea文字粘贴到剪切板。

2025-03-10 23:37:10 81

原创 76 保存图片到沙箱 SaveButton组件

因为访问相册权限比较高,一种是向华为申请,比较慢,另外一种使用Savebutton组件。

2025-03-10 23:32:56 198

原创 75 鸿蒙ArkTS团队开发签名问题

组长配置签名,拉取代码,重新签名,提交代码的时候,签名文件不提交。直接把签名文件配置在项目中,签名配置引用项目中的文件。在华为官网创建团队,小组成员共用一个账号。

2025-03-10 23:26:21 223

原创 74 鸿蒙Charles抓包配置

备注:需要注意的是,即使是安装完证书之后,Charles 默认也并不截取 Https 网络通讯的信息,如果你想对截取某个网站上的所有 Https 网络请求,可以在该请求上右击,选择 SSL proxy这样,对于该 Host 的所有 SSL 请求可以被截取到了。②在 iPhone 的 “ 设置 ”–>“ 无线局域网 ” 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。那么需要安装 Charles 的 CA 证书。

2025-03-10 23:20:47 421

原创 73 HMRouter路由系统第三方库

HMRouter依赖系统Navigation能力,所以必须在页面中定义一个容器@Entry@Componentbuild() {// @Entry中需要再套一层容器组件,Column或者StackColumn(){// 使用HMNavigation容器options: {})Navigation的系统属性通过modifier传递,部分modifier不支持的属性使用options设置使用标签定义拦截器,并实现接口使用标签定义生命周期处理器,并实现接口通过。

2025-03-10 23:15:11 1160

原创 72 Navigation使用插件生成路由表

从 API 12开始,Navigation 支持使用系统路由表的方式进行动态路由。通过配置在工程 resources/base/profile 中创建 router_map.json 文件就可以实现跳转。但是,仍然需要手动为路由的目标页面编写配置文件和 Build 函数,较为繁琐。使用该插件,仅用一个注解即可帮你完成上述的配置操作。

2025-03-10 20:06:58 405

原创 71 Navgation和Navdestination官方推荐系统路由

创建路由文件文件profile目录下创建route_map.json 并且在module.json5里面添加路由表的配置。

2025-03-10 19:44:16 182

原创 70 鸿蒙编辑器 DevEcoStudio接入deepSeek R1

第三种使用第三方硅基流动,接入DeepseekAPI,不过我感觉使用阿里的可以间接使用deepSeek简单方便。如果是Mac可能下载的不是压缩包,因为思睿会自动解压,关闭这个就好了 在浏览器偏好设置。

2025-03-10 15:59:49 501

原创 69 V1中的$$与 V2中的!!双向数据绑定的区别

$可以数据双向同步基本数据类型,但是引用数据类型不行,观察不到内层变化,也就是只能观察第一层!可以使用引用类型并且可以观察到深层次。1 在变量传值后面添加!会自动生成一个回掉函数,$message(val:string)=>{this.message=val}都可以进行数据双向传递。

2025-03-10 15:56:56 69

原创 68 图片轮播和图片列表联动且列表中选中的图片一直在屏幕中间

【代码】68 图片轮播和图片列表联动且列表中选中的图片一直在屏幕中间。

2025-03-09 23:11:23 208

原创 67 响应时布局,横竖屏,大中小屏幕 (断点,姗格,媒体查询)

在项目初期如果有一次开发多端部署要求,尽量初期配好,Peter老师强烈建议1 断点:2 栅格:gridRow gridCol 3 媒体查询 :组件即将出现进行监听屏幕尺寸,设备类型 ,深浅色,横竖屏幕,组件消失时候注销

2025-03-09 23:02:32 307

原创 66 7种自适应能力

7种自适应能力

2025-03-09 22:32:30 156

原创 65 状态数据管理 V1和 V2的区别

Monitor用于监听V2状态变量的变化,搭配@Trace使用,可有深层监听的能力。@Watch用于监听V1状态变量的变化,具有监听状态变量本身和其第一层属性变化的能力。状态变量可观察到的变化会触发其@Watch监听事件。@ObservedV2本身无观察能力,仅代表当前class可被观察,如果要观察其属性,需要搭配@Trace使用。@Observed可观察第一层的属性,需要搭配@ObjectLink使用才能生效。V1装饰器@Track为精确观察,不使用则无法做到类属性的精准观察。但两者能力并不相同。

2025-03-09 21:55:04 664

原创 64 Canvas画布,制作一个画板

针对图片编辑的画布思路

2025-03-09 21:23:18 140

原创 63 动画

主要针对组件的属性,在变化过程中加入动画,全部附加在组件身上,例如组件透明度,平移,旋转,缩放等,使用事件或者监听等控制状态变量进行调控。// xxx.ets@Entry@Componentbuild() {Column() {} else {this.flag})duration: 2000,//时长,延时iterations: 3//播放几次playMode: PlayMode.Normal//模式,一次还是循环})})

2025-02-05 19:51:11 889

原创 62 页面之间的通信

【代码】62 页面之间的通信。

2024-09-06 19:30:00 131

原创 61@Entry 装饰的页面和 Navigation 组件里的页面区别

定义:是一个基本的页面,每一个页面都需要在 main_page.json 中声明路由:这种页面是路由的起点,通常用于展示应用的入口生命周期:具有通用的生命周期方法,如 @Entry 修饰的页面中的通用方法。

2024-09-06 06:30:00 214

原创 60 图文混排方案

方案二:富文本RichEditor支持图文混排和文本交互式编辑,通过addTextSpan()方法添加文本内容,通过addImageSpan()方法添加图片内容。方案一:轻量级Span&ImageSpan图文混排:可通过Text组件中嵌套ImageSpan子组件和Span子组件的方式,实现图文混排的方案。

2024-09-05 09:00:00 266

原创 59 ArkTS 与TS区别

ArkTS 是基于 TypeScript 开发的框架,但是有一些限制和差异。ArkTS 旨在提供更严格的类型检查和优化的代码性能,同时确保与 HarmonyOS 的开发环境和特性兼容。

2024-09-05 08:00:00 1776

原创 58 build()里面的规则

Component装饰的自定义组件,其 build() 函数下的根节点唯一且必要,可以为非容器组件。@Entry装饰的自定义组件,其 build() 函数下的根节点唯一且必要,且必须为容器组件。避免直接在 Text 组件内改变 count 的值。不允许调用没有用 @Builder 装饰的方法。不允许 console.info 之类的语句。ForEach 禁止作为根节点。不允许使用 switch 语法。不允许创建本地作用域。

2024-09-04 18:30:00 206

原创 57 解决内存泄漏

鸿蒙提供了开发者工具,其中包括性能分析和内存分析工具。使用这些工具来监测应用的内存使用情况,找到潜在的内存泄漏问题。避免在应用中持有全局引用,尤其是全局单例或静态变量。这些引用可能导致对象无法被垃圾回收,从而导致内存泄漏。运行应用并通过鸿蒙开发者工具的性能分析工具进行内存测试。通过模拟各种使用场景,找到潜在的内存泄漏问题。确保正确管理鸿蒙应用组件的生命周期。释放不再需要的资源,避免在组件销毁后仍然持有对它的引用。

2024-09-04 06:00:00 491

原创 56 鸿蒙开发中各种配置文件的作用

应用/服务支持通过ohpm来安装、共享、分发代码,管理项目的依赖关系。oh-package.json5格式遵循标准的ohpm规范。应用组件信息,包含UIAbility组件和ExtensionAbility组件的描述信息。Module的基本配置信息,包含Module名称、类型、描述、支持的设备类型等基本信息。应用的全局配置信息,包含应用的Bundle名称、开发厂商、版本号等基本信息。页面列表json,对应上面module.json5的pages字段。应用运行过程中所需的权限信息。特定设备类型的配置信息。

2024-09-03 18:00:00 261

原创 55 UIAbility应用组件的启动实例模式

当应用进程中该类型的UIAbility实例已经存在时,系统会复用该实例,而不是创建新的实例。例如,对于需要频繁切换的页面或功能,使用Singleton模式可以避免不必要的实例创建和销毁,从而提高应用的响应速度和性能。但是,每次创建新的实例之前,之前的实例都会被销毁。每次创建新的实例时,都会重新走一遍UIAbility的生命周期方法。与Multiton不同的是,创建新的实例时不会销毁之前的实例,所以在任务列表里可以看到多个实例。这意味着每次点击都会创建新的实例,并且每个实例都有自己的生命周期。

2024-09-03 06:00:00 346

原创 56 拍照

需要用到camera这个api。

2024-09-02 18:00:00 282

原创 55 扩展应用组件声明周期

onAddForm(want: Want) 使用方创建卡片时触发,提供方需要返回卡片数据绑定类 onCastToNormalForm(formId: string) 使用方将临时卡片转换为常态卡片触发,提供方需要做相应的处理 onUpdateForm(formId: string) 若卡片支持定时更新/定点更新/卡片使用方主动请求更新功能,则提供方需要重写该方法以支持数据更新 onChangeFormVisibility(newStatus: Record<string, number>)

2024-09-02 16:00:00 282

原创 54 清除缓存的三种方法

} // 获取沙箱路径。// 获取应用上下文。使用@ohos.file.fs (文件管理)模块的方法。

2024-09-02 11:28:03 925

原创 53 性能优化方案

懒加载(forEach =>lazyForEach) 防抖(段时间内 多次触发 只执行最后一次) 减少滥用装饰器(数据变化 且 变化后影响页面) 布局结构不要滥嵌套 Row(){ } 合理使用异步让代码并行 多线程 封装组件 减少网络请求次数 合理使用底层能力(定位) 缓存数据(存储数据-首选项 persist 数据库) 减少应用启动时的初始化操作

2024-09-02 11:25:40 826

原创 52 项目中如何拆分HAR包

拆分HAR包,简而言之,就是将一个大型或复杂的HAR包(Harmony Archive,静态共享包)分解成多个较小的、功能单一的HAR包。这些较小的HAR包可以包含特定的代码、资源、库或配置文件,供不同的模块或项目使用。通过拆分HAR包,开发者可以更容易地管理和维护代码,降低项目的复杂性,提高开发效率,并且有助于实现代码的重用和共享。

2024-08-30 06:00:00 326

原创 51 Axios原理及其用法

在浏览器端,axios使用XMLHttpRequest对象或浏览器的fetch API来发送HTTP请求;在服务端,它使用原生的Node.js http模块。:xios提供了请求和响应拦截器,允许在请求或响应被发送到服务器或浏览器之前,对其进行一些预处理。是一个基于 promise 的网络请求库,可用于在浏览器和Node.js中发送异步HTTP请求。:axios可以捕获HTTP请求返回的错误状态码,并提供全局的错误处理方法。axios封装了请求和响应的细节。

2024-08-30 01:00:00 359

原创 50 ArkUI框架组件生命周期

onBackPress:当用户点击返回按钮时触发(页面特有)aboutToDisappear:组件即将析构销毁时触发。aboutToDisappear:组件即将析构销毁时触发。onCreate: UIAbility实例创建完成时触发。onDestroy: 在UIAbility实例销毁时触发。onPageShow:页面显示触发(页面特有)onPageHide:页面隐藏触发(页面特有)aboutToAppear:组件即将出现时触发。aboutToAppear:组件即将出现时触发。

2024-08-29 10:30:00 366

原创 49 数组常用的方法

filter筛选 reduce求和 map映射 forEach遍历 sort排序 join拼接 split分割 fill填充 concat连接合并数组。pop 尾删 push尾插 shift开头删除 unshift头插 splice任意删除,插入。

2024-08-29 09:00:00 105

Tortoise小乌龟使用教程-易学易懂

Tortoise小乌龟使用教程-易学易懂

2024-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除