自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 ArkTS鸿蒙--用户首选项持久化数据

一般适用于保存用户的个性化设置,例如应用的字体大小的设置、应用的模式切换(白天模式和夜间模式)、用户是否处于登录状态、首次进入页面时加载的页面。开发者可以将用户首选项持久化文件的内容加载到Preferences实例,每个文件唯一对应到一个Preferences实例,系统会通过静态容器将该实例存储在内存中,直到从内存中主动移除该实例或删除该文件。构建PreferencesUtils工具类,用于封装用户首选项Preferencet提供的接口,方便后续的写入数据、保存数据、修改数据和删除数据。

2025-11-24 07:00:00 404

原创 ArkTS鸿蒙制作自定义弹窗

1、在构建自定义弹窗时,需要创建自定义弹窗的控制器CustomDialogController,该控制器仅在作为@CustomDialog 和 @Component struct成员变量 ,且在@Component struct 内部定义时赋值才有效。2、自定义弹窗的构造器constructor,里面可以实现的接口参数有:builder: 自定义弹窗的内容构造器;cancel: 点击返回键、ESC键和点击遮罩层弹窗退出时触发的回调函数;

2025-11-23 15:08:34 435

原创 仓颉鸿蒙属性动画

组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。支持的属性包括width、height、backgroundColor、opacity、scale、rotate、translate等。布局类改变宽高的动画,内容都是直接到终点状态,例如文字、Canvas的内容、linearGradient等,如果要内容跟随宽高变化,可以使用renderFit属性配置。设置动画效果,参数名animation,参数类型AnimateParam。

2025-09-03 11:00:32 152

原创 仓颉语言Web框架中的路由分组

除了代码组织和复用,部分Web框架的路由分组还能间接优化路由匹配效率。这类框架的路由底层基于“前缀树”实现,分组的公共前缀会被合并为前缀树的一个节点,匹配请求时可快速跳过不相关的前缀分支,减少匹配次数。路由分组是 Web 框架的核心功能之一,其本质是对具有共性的路由进行 “归类管理”,通过提取公共规则、简化重复操作、强化代码组织性,解决复杂项目中路由管理的混乱问题。路由分组的首要价值是提取路由间的 “公共部分”,避免相同规则在多个路由中重复编写,从而减少代码冗余、降低后期修改的风险。

2025-08-31 17:39:20 367

原创 仓颉基于http调用DeepSeek

打开deepseek官网,在开放平台中获取需要使用的值deepseek的url、key、model。切换为调用Qwen大模型。

2025-08-30 17:07:38 396

原创 java注解

该注解中有两个属性,使用default关键字可以为该属性设置默认值,这样在使用该注解时,就可以不用为该属性传入值。

2025-08-30 10:47:30 664

原创 java反射

获取类的信息并动态操作类的成员(包括属性、方法、构造器等),而不需要在编译期就知道这些类的具体信息。设计一个Student类,通过反射来获取类中的成员、构造方法、静态方法、实例方法。*通过getDeclaredFields()方法可以获取类中的所有的成员变量。*通过getFields()方法可以获取类中所有public修饰的成员变量。*getMethod()方法可以获取类中所有public修饰的成员变量。*getDeclaredMethod()方法可以获取类中所有的方法。

2025-07-23 15:02:04 322

原创 java语言中的XML解析

XML(eXtensible Markup Language,可扩展标记语言) 是一种用于存储和传输数据的标记语言,由万维网联盟(W3C)于 1998 年发布。它的设计初衷是分离数据内容与展示形式,并实现跨平台的数据交换,其核心思想源于 SGML(标准通用标记语言),但语法更为简洁。1、DOM解析:将整个XML文件加到内存中,构建树形结构,便于随机访问节点,但消耗内存较高。3、SAX解析:流式解析,按顺序读取文档,适合处理大文件,但无法反向访问节点。示例:使用DOM4J解析XML文件(解析上述XML文件)

2025-06-24 21:42:21 967

原创 仓颉基于http协议的web开发

3.最后,如果出现html页面中的视频文件播放时有音效但是没有画面的情况,可能是MP4视频的编码格式的问题,案例中使用的编码格式为H.264。http是一种用于分布式、协作式超媒体信息系统的应用层协议,它定义了客户端与服务器之间请求与响应的标准格式和交互流程。应用场景:访问网页、API数据查询、下载文件等。将对应文件的IP地址,写到html标签<video>和<audio>的src路径中,如上图所示。POST请求:用途:向服务器提交数据(如表单、文件上传、JSON数据等)GET请求:用途:获取服务器资源。

2025-06-10 14:28:20 693

原创 ArkTS基于SQLite数据库的增删改查

字段不强制绑定数据类型,值的类型由内容决定。支持 NULL、INTEGER、REAL(浮点数)、TEXT、BLOB(二进制数据)五种基本数据类型。支持完整的 ACID(原子性、一致性、隔离性、持久性)事务。事务可确保数据操作要么完全成功,要么完全回滚,避免数据不一致。格式),无需独立的数据库服务器进程;库文件体积小(约 500KB-1MB),可直接嵌入应用程序中运行。SQLite 是一款轻量级、嵌入式、无服务器的关系型数据库管理系统。1.轻量级与无服务器架构。2.跨平台兼容性好。3.高性能与低资源消耗。

2025-06-05 09:44:35 663

原创 仓颉语言---Socket编程

Socket(套接字)可以被理解为网络上两个进程之间通信的端点。它是网络通信的抽象表示,封装了底层网络协议的复杂性,为应用程序提供了一个简单统一的接口。Socket 编程是一种网络编程范式,它允许不同计算机上的进程通过网络进行通信。这种通信可以发生在同一设备上的不同进程之间,也可以发生在不同地理位置的设备之间。Socket 编程提供了一种标准的方式来实现网络通信,是构建各种网络应用的基础。

2025-06-02 14:33:11 1070

原创 仓颉鸿蒙开发:制作底部标签栏

简单的将视图上面区域做一下。

2025-06-01 15:31:28 516

原创 仓颉语言---I/O流机制

标准输出流:负责将数据从内存写出到外存。输出端可以一段一段地从管道中读出数据,每次可读取任意长度的数据(不要求与输入端匹配),但需遵循先入先出原则。标准输入流::负责将数据从外存读取到内存。输入端可一段一段地向管道中写入数据,这些数据段按先后顺序形成长数据流。示例代码:1、BufferedOutputStream() 是为另一个输出流添加缓冲功能。2、BufferedInputStream() 为另一个输入流添加缓冲功能。示例代码:1、读取输入流,并在控制台打印。读取文件内容,将外部文件内容读取到内存中。

2025-05-31 10:12:58 643

原创 java多线程

线程是程序里能够独立运行的最小执行单元。它和进程不同,进程是程序在操作系统中的一次执行实例,而线程则是进程中的一个执行路径。多线程允许程序同时处理多个任务,以此提升程序的性能与响应速度。线程的特点 1.轻量级:创建和销毁线程的开销比进程小得多。因为线程共享进程的资源,所以在创建线程时,不需要像创建进程那样分配大量的系统资源。 2.并发执行:同一进程中的多个线程可以并发执行,从而提高程序的执行效率。例如,在一个音乐播放软件中,一个线程可以负责播放音乐,另一个线程可以负责处理用户对播

2025-05-21 17:11:22 771

原创 java基础知识

java语言的特点、语法基础、数据类型运算符

2025-05-08 16:57:48 1108

原创 仓颉多线程

仓颉多线程的创建和应用

2025-05-06 09:30:28 1318

原创 了解HashSet

HashSet是一种基于哈希表实现的集合数据结构,它用于存储不重复的元素。在 HashSet中,元素没有特定的顺序,并且不允许出现重复项。

2025-05-05 17:19:43 238

原创 枚举类型、option类型、解析和模式匹配

模式匹配是指将输入的数据与预先定义的模式进行比对,一旦匹配成功,就可执行对应的操作。

2025-04-29 15:57:19 513

原创 面向函数编程--闭包

闭包是指有权访问另一个函数作用域中变量的函数。从本质上来说,闭包是由函数以及该函数所引用的外部环境组合而成的一个实体。即便创建该函数的上下文已经执行完毕,闭包仍能访问其外部函数作用域内的变量,这些变量会被保存在内存中而不会被销毁。

2025-04-25 10:58:54 466

原创 lambda表达式

Lambda 表达式是一种简洁的、匿名的函数定义方式,它允许你在代码中快速创建小型、一次性使用的函数,而无需显式定义一个完整的函数。Lambda 表达式在仓颉编程语言中也是支持的。

2025-04-24 14:51:19 609

原创 面向函数编程

把程序分解成一系列函数,每个函数接收输入参数并返回输出结果,强调函数的纯粹性,即相同的输入必然产生相同的输出,且不产生可观察的副作用(例如不修改全局变量、不进行 I/O 操作等)。

2025-04-23 18:09:44 1228

原创 设计模式--模板模式

模板模式是一种行为设计模式,它在抽象类里定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类。这样一来,子类可以在不改变算法结构的基础上,重新定义算法里某些步骤的具体实现。(1)代码复用性高:将固定不变的部分封装在抽象类的模板方法中,可变的部分则交由子类来实现,从而避免了代码的重复编写。(2)可维护性强:由于其核心部分在抽象类的模板方法中,当需要修改算法的整体结构时,只需要在抽象类中进行修改,而不会影响到各个子类。(3)符合开闭原则:“对扩展开放,对修改关闭”。

2025-04-22 17:56:47 523

原创 设计模式--代理模式

在程序运行的流程中,“客户”并没有直接的去调用目标方法/类,而是通过一个“中介”,通过在目标业务的前面和后面进行控制,判断“客户”是否满足条件来执行目标方法。

2025-04-21 16:53:48 350

原创 设计模式--工厂模式

工厂模式就是将创建对象的具体过程包装起来,然后根据用户的实际需求来创建不同的对象。实现方法是提供专门的工厂类,来创建具体的对象。创建工厂的方法可以有实例方法和静态方法,场景为工厂A和工厂B分别生产A商品和B商品。

2025-04-17 16:46:49 146

原创 设计模式--单例模式

单例模式用于在应用程序中只有一个实例化对象,以确保资源的高效利用和程序的稳定性,比如在读取或解析文件,加载数据到对象中,都只能在唯一的对象中同步数据。(如果存在多个对象,则会造成数据的不一致)。单例模式有两种类型:1.饿汉式单例2.懒汉式单例。在类加载时,就已经创建好了对象,等到程序调用时直接返回该对象即可。与饿汉式单例不同的是,懒汉式单例是等到被调用时再去创建。程序在运行期间只会创建一个对象。

2025-04-16 11:11:08 321

原创 仓颉语言--面向对象编程之抽象

抽象方法是没有方法体的,但一定要有返回值类型,抽象方法一定要被重写,其访问修饰符为protected或public。使用abstract关键字修饰类,那么该类为抽象类,主要作用就是为了加强运行时多态。1.抽象类是必须要被继承的,抽象类是不能实例化的,需要通过绑定子类完成实例化。2.抽象类中可以有构造方法,子类的构造函数一定依赖于父类的构造函数。使用interface关键字修饰,为了加强运行时多态和动态绑定。3.抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。4.有抽象属性设计器的类,一定是抽象类。

2025-04-15 17:22:41 309

原创 仓颉语言--面向对象编程之多态

指在继承关系中,方法名相同,参数列表相同,返回值类型相同,也就是子类对父类方法的重写。那么具体调用哪个重写的方法,是由实际创建的对象来决定的。因为创建对象是在运行期间完成的,所以称之为运行时多态。指在一个类中,方法名相同,参数列表不同,与返回值类型无关,称为方法重载。那么决定调用哪个方法,是由参数列表确定的。因为参数列表是在编译期间就确定了,所以称之为编译时多态。在上述代码的基础上,在声明一个子类daughter。

2025-04-14 17:38:52 526

原创 仓颉语言--面向对象编程之继承

因为子类可能会使用父类的数据,所以在子类完成初始化之前,一定先完成父类数据的初始化,所以子类构造函数的第一条语句都会调用父类的构造函数,如果父类的构造函数中有参数,就需要显示的调用父类构造函数,使用关键字super()1.仓颉语言中,继承为单继承,就是说子类只能有一个父类,不可以直接继承多个父类,但一个父类可以有多个子类。3.子类可以拥有父类的属性和方法,也可以扩展新的属性和方法,父类也可以调用子类扩展的方法。在仓颉编程语言中,继承的格式为:public class 子类名 <:父类名{ }

2025-04-12 11:11:13 394

原创 仓颉语言--面向对象编程之封装

封装在面向对象的编程思想中,确保类中数据的完整性和安全性是非常重要的。那么如何去提高数据访问的安全性呢?这里就需要用到“封装”,通过阻止外部对内部数据的直接访问和修改,来提高数据的安全性。就像给我们的手机账号设置密码,通过密码来保护我门的账号信息和个人隐私。那么在程序代码中,需要用到关键字private来修饰,通过将修饰的内容私有化,外部不能够直接的去访问,来提高数据访问的安全性。

2025-04-11 18:00:54 416

原创 仓颉语言--标识符的命名规则和数据类型

定义时使用struct关键字修饰*该类型不支持继承(不能有子类)* struct自定义类型是个值类型在struct自定义类型中,可以定义:1.成员变量:静态变量,实例(非静态)变量2.构造函数:主构造函数(只能有一个):方法名与struct定义的名字一致普通构造函数(可以有多个):方法名为init,有多个时,方法名一致,参数列表不同,形成构造函数重载,目的是为了给创建自定义类型struct的不同对象提供多种入口*二者均不能使用关键字func修饰*静态构造函数,用于初始化静态变量。

2025-04-10 12:13:20 1304 1

空空如也

空空如也

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

TA关注的人

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