自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (4)
  • 收藏
  • 关注

原创 鸿蒙——实操开发自定义Hivigor插件并发布插件

基于typescript项目开发较好地弥补了上一小节中使用hvigorfile脚本方式编写插件代码不易复用和共享分发的问题。因此通常情况下推荐此方式开发。

2025-03-07 09:49:07 1140

原创 19、鸿蒙学习——配置HDC命令 环境变量

hdc工具存放路径示例:${COMMANDLINE_TOOL_DIR}/command-line-tools/sdk/default/openharmony/toolchains。hdc命令行工具用于HarmonyOS应用/元服务调试所需的工具,该工具存放在命令行工具自带的sdk下的toolchains目录中。为方便使用hdc命令行工具,请将其添加到环境变量中。2、添加hdc路径到环境变量,指令如下。

2024-12-26 14:51:18 1004

原创 18、鸿蒙学习——配置OHPM、hvigor环境变量

到官网下载Command Line Tools工具(该命令行工具集合了HarmonyOS应用开发所用到的系列工具,包括代码检查codelinter、三方库的包管理ohpm、命令行解析hstack、编译构建hvigorw。如果输出结果为/bin/bash,则执行以下命令,打开.bash_profile文件。(2)打开终端工具,执行以下命令,根据输出结果分别执行不同命令。键,退出编辑模式,然后输入“:wq”,单击。(6)执行以下命令,使配置的环境变量生效。(1)将下载后的命令行工具解压到本地。

2024-12-16 14:37:06 768

原创 17、鸿蒙学习——@Require装饰器:校验构造传参

当@Require装饰器和@Prop、@State、@Provide、@BuilderParam、普通变量(无状态装饰器修饰的变量)结合使用时,在构造该自定义组件时,@Prop、@State、@Provide、@BuilderParam和普通变量(无状态装饰器修饰的变量)必须在构造时传参。

2024-12-05 18:26:17 383

原创 16、鸿蒙学习——Visibility与(if...else)该如何选择

在鸿蒙中我们如果要控制一个组件的显示与隐藏可以设置组件的,也可使用(if...else)条件控制,具体我们该选择哪个?二者有什么区别呢?

2024-12-05 16:06:39 920

原创 3、Typescript学习——小知识

,那么它会被视为“假”值(false),这时逻辑或操作符会返回右边的操作数。在这个例子中,左边是。,这是一个假值,所以运算会继续检查右边的值。在 TypeScript 中,表达式。) 操作符时,如果左边的操作数是。原因:这是因为在使用逻辑或 (

2024-12-05 15:36:21 221

原创 15、鸿蒙学习——自定义属性设置

当开发者希望在组件上设置自定义的属性时,可以使用自定义属性设置功能,在组件上设置自定义的属性。而这些自定义属性可以在其对应的FrameNode上获取,从而实现更自由的组件管理。

2024-12-05 15:30:24 250

原创 14、鸿蒙学习——管理通知角标

针对未读的通知,系统提供了角标设置接口,将未读通知个数显示在桌面图标的右上角角标上。通知增加时,角标上显示的未读通知个数需要增加。通知被查看后,角标上显示的未读通知个数需要减少,没有未读通知时,不显示角标。

2024-12-05 14:58:20 660

原创 13、鸿蒙学习——文本计算

从API version 12开始,可以通过UIContext中的getMeasureUtils方法获取当前UI上下文关联的。如需更多测算文本参数,建议使用图形对应测算接口。本模块提供文本宽度、高度等相关计算。计算指定文本的宽度和高度。计算指定文本的宽度。

2024-09-04 18:41:01 462

原创 0、Typescript学习

(1)return a+b(2)(3)(4)匿名函数});匿名函数可以根据上下文退单出数组的类型,所以参数的类型可以省略。控制台输出:1,2,3,4,5(5)箭头函数如果只有一个参数,还可以把参数的小括号省略掉。

2024-09-04 18:28:32 383

原创 2、Typescript学习——Typescript中的数组操作

如果你需要在特定的索引位置插入多个元素,可以使用。在TypeScript中,你可以使用数组的。方法来添加单个元素,或者使用扩展运算符。

2024-09-04 18:24:14 584

原创 1、Typescript学习——Typescript的对象根据某个字段排序

【代码】13、鸿蒙学习——Typescript 两个对象Sort排序。

2024-09-04 18:15:55 306

原创 12、鸿蒙学习——DevEco Studio(ArkTS代码调试)-Evaluate and log

开发者可以通过Evaluate and log 能力在代码执行到断点时打印开发者指定的表达式。

2024-08-16 17:34:32 340

原创 11、鸿蒙学习—UDID获取方法

配对成功后,应用调测助手界面会显示运动手表型号和UDID, 点击“复制 ”即可复制UDID到剪贴板。2、打开“设置 > 系统和更新”,在最下方找到“开发人员选项”,打开“USB调试”开关。1、打开智能手表的“设置 > 关于手表”,多次点击版本号,打开开发者模式。2、打开“设置”,在最下方找到“开发人员选项”,打开“HDC调试”开关。1、打开“设置 > 关于手机”,多次点击版本号,打开开发者模式。4、在运动健康app的“设备”页签中,点击“添加设备”。3、点击“连接设备”,自动打开运动健康app。

2024-06-21 17:42:51 4682 2

原创 10、鸿蒙学习-创建自定义组件

Componentbuild() {// HelloComponent自定义组件组合系统组件Row和TextRow() {// 状态变量message的改变驱动UI刷新,UI从'Hello, World!'刷新为'Hello, ArkUI!})说明:如果在另外的文件中引用该自定义组件,需要使用export关键字导出,并在使用的页面import该自定义组件。HelloComponent可以在其他自定义组件中的build()函数中多次创建,实现自定义组件的重用。@Entry。

2024-05-10 11:42:26 860

原创 9、鸿蒙学习-开发及引用静态共享包(API 9)

HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。接下来,将简单介绍库模块的工程结构,如下图所示:相关字段的描述如下,其余字段与Entry或Feature模块相关字段相同,可参考。

2024-03-28 17:32:37 1655

原创 8、鸿蒙学习-HAR

Index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在Index.ets文件中导出。HAR的依赖配置成功后,可以引用HAR的ArkUI组件。需要对代码资产进行保护时,建议开启混淆能力,混淆能力开启后,DevEco Studio在构建HAR时,会对代码进行编译、混淆及压缩处理,保护代码资产。依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。引用HAR前,需要先配置对HAR的依赖,配置方式可参考。

2024-03-28 17:14:28 1969

原创 7、鸿蒙学习-共享包概述

静态共享包,和HSP(Harmony Shared Package)动态共享包。和应用间HSP,应用间HSP暂不支持。HSP按照使用场景可以分为。

2024-03-28 15:02:00 567

原创 6、鸿蒙学习-Stage模型应用程序包结构

基于Stage模型开发的应用,经编译打包后,其应用程序的结构如下图应用程序包结构(Stage模型)所示。开发者需要熟悉应用程序包结构相关的基本概念。

2024-03-28 13:38:32 1259

原创 5、鸿蒙学习-ArkTs的基本组成

自定义组件」:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的声明周期。「页面」:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有些仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。:页面每次显示时触发一次,包括路由过程、应用进入前台等场景。:页面每次隐藏时触发一次,包括路由过程、应用进入后台等场景。:当用户点击返回按钮时触发。

2024-03-22 15:41:26 1656

原创 4、鸿蒙学习-@ohos.promptAction (弹窗)

创建并显示文本提示框、对话框和操作菜单。本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。该模块不支持在的文件声明处使用,即不能在UIAbility的生命周期中调用,需要在创建组件实例后使用。

2024-03-15 10:30:48 1675

原创 2、鸿蒙学习-申请调试证书和调试Profile文件

发布Profile格式为.p7b,包含HarmonyOS应用的包名、数字证书信息、应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容。2、导航选择“Project”,点击“Signing Configs”页签,取消“Automatically generate signature”勾选项,然后配置工程的签名信息,完成后点击“OK”。2、在左侧导航栏点击“证书管理”,进入“证书管理”页面,点击“新增证书”。,选择“申请发布/调试证书”。

2024-03-14 17:48:39 3897

原创 3、鸿蒙学习-在AGC创建HarmonyOS 项目或应用

项目是资源、应用的组织实体。资源包括服务器、数据库、存储,以及您的应用、终端用户的数据等。在您使用部分服务时,您是数据的控制者,数据将按照您设置的数据处理位置来存储在指定区域。通常,您不需要自己管理资源,而是管理好你的应用。您应该将一个应用的不同平台(Android、IOS、Web、快应用等)放在一个项目中。您可以选择将一个应用的不同变体放在同一个项目中,比如,您的应用有不同渠道的变体,您就可以将它们放在一个项目中。但是,您不应该将不同应用放在一个项目中,因为这可能会产生隐私合规问题。

2024-03-14 17:30:04 1484

原创 1、鸿蒙学习-为应用/服务进行签名

针对应用/服务的签名,DevEco Studio为开发者提供了方案,帮助开发者高效进行调试。也可选择对应用/服务进行签名,如果使用了需要的权限,需采用手动方式进行签名。使用自动签名前,请确保本地系统时间与北京时间(UTC/GMT +8.00)保持一致。如果不一致,将导致签名失败。1、连接真机设备,确保如果同时连接多个设备,则使用自动化签名时,会同时将这多个设备的信息写到证书文件中。

2024-03-14 10:06:39 2371

原创 鸿蒙学习-数据持久化

关系型数据库基于SQLite组件,适用于存储包含复杂关系数据的场景,比如一个班级的学生信息,需要包括姓名、学号、各科成绩等,又或者公司的雇员信息,需要包括姓名、工号、职位等,由于数据之间有较强的对应关系,复杂程度比键值型数据更高,此时需要使用关系型数据库来持久化保存数据。键值型数据库存储键值对形式的数据,当需要存储的数据没有复杂的关系模型,比如存储商品名称及对应价格、员工工号及今日是否已出勤等,由于数据复杂度低,更容易兼容不同数据库版本和设备类型,因此推荐使用键值型数据库持久化此类数据。

2024-03-05 18:13:44 2004

原创 鸿蒙学习-dataPreferences数据存储后,重新运行获取为空的问题

勾选 Keep Application Data 即可。运行时,保存数据,只进行覆盖安装即可,在。

2024-02-23 13:25:49 728

原创 鸿蒙学习-module.json5配置文件

位于entry->src->main-module.json5。

2024-02-07 15:24:28 3158

原创 鸿蒙学习-app.json5配置文件

标识应用运行需要的API目标版本的类型,采用字符串类型表示。取值为”CanaryN“、”BetaN“或者”Release“,其中N代表大于零的整数。该字段由DevEco Studio读取当前使用的SDK的Stage来生成。-false:当前工程不支持多个工程的联合开发。-true:当前工程支持多个工程的联合开发。标识当前工程是否支持多个工程的联合开发。-Canary:受限发布的版本。-Beta:公开发布的Beta版本。-Release:公开发布的正式版本。

2024-02-07 10:34:00 2503

转载 鸿蒙学习-PageAbility的生命周期

PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。2、目前app.js环境中仅支持onCreate和onDestroy回调,app.ets环境支持全量生命周期回调。1、PageAbility的生命周期回调均为同步接口。

2024-01-11 10:03:08 319

转载 鸿蒙学习-应用/组件配置

Module支持的设备类型需要在config.json文件中配置deviceType字段,如果deviceType标签中添加了某种设备,则表明当前的module支持在该设备上运行。来声明需要申请权限的名称,申请权限的原因以及权限使用的场景。应用版本声明配置需在config.json中的app标签下配置version字段,以说明当前的版本号和版本名称以及应用能够兼容的最低历史版本号。FA模型不支持直接配置应用图标和标签,会以符合规则的PageAbility的图标和标签作为应用图标和标签。

2024-01-10 19:39:45 101

原创 鸿蒙学习-应用模型解读

Stage模型与FA模型最大的区别在于:Stage模型中,多个应用组件共享同一个ArkTS引擎实例;因此在Stage模型中,应用组件之间可以方便的共享对象和状态,同时减少复杂应用运行对内存的占用。Stage模型作为主推的应用模型,开发者通过它能够更加便利地开发出分布式场景下的复杂应用。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的”舞台“,因此称这种应用模型为Stage模型。- PageAbility组件:包含UI界面,提供展示UI的能力。

2024-01-05 13:57:26 328

原创 鸿蒙学习——2、基础组件-Blank

说明:该组件从API Version7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。当最小值大于容器可用空间时,使用最小值作为自身大小并超出容器。空白填充组件,在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。Blank父组件未设置宽度时,子组件无空白填充,使用min参数设置填充尺寸。从API version9开始,该接口支持在ArkTS卡片中使用。Blank组件的父组件未设置宽度时,min参数的使用效果。空白填充组件在容器主轴上的最小大小。设置空白填充的填充颜色。

2023-12-11 19:40:13 458

原创 Android Apk一键打包上传至蒲公英平台的gradle脚本

doLast {uploadPgy的task。注意到里面还有一行group ‘pack’,这个意思是这个task任务会在pack文件夹下出现这里是这个task依赖于"app:assembleXXXRelease"这个task任务。而"app:assembleXXXRelease"中的app即为,主module的名字,如果主module名字为app那么这里写app,如果主module名字为mmm,这里也写mmm。而后面assembleXXXRelease即为,项目打包的任务命令/**

2023-10-24 15:03:09 1517 1

原创 Java中的生产者/消费者模型

生产者-消费者模型(Producer-Consumer problem)是一个非常经典的多线程并发协作的模型。比如某个模块负责生产数据,而另一个模块负责处理数据。产生数据的模块就形象地被称为生产者;而处理数据的模块,则被称为消费者。生产者和消费者在同一段时间内共用同一个存储空间,生产者往存储空间中添加产品,消费者从存储空间中取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞。

2023-07-30 21:33:53 6061

原创 Java内存模型

下面是Java内存模型下一些”天然的“先行发生关系,这些先行发生关系无须任何同步器协助就已经存在,可以在编码中直接使用。如果两个操作之间的关系不在此列,并且无法从下列规则推导出来的话,它们就没有顺序性保障,虚拟机可以对它们随意地进行重排。

2023-07-24 17:24:56 1204

原创 ArrayMap源码解析

注意:mSize表示的是数组mHashes的大小,而mArray的大小为2*mSize。若key的hash在mHashes的位置索引为index,那么key在mArray中的位置索引keyIndex=index

2023-07-07 15:41:09 1402

原创 SparseArray源码解析

SparseArray 避免了基本数据类型的装箱和拆箱操作 ,从而避免key自动装箱产生过多的Object采用了延迟删除的机制,通过将删除的KEY的value设置为DELETED,方便之后对该下标的存储进行复用数据量较小的情况下,随机访问的效率更高不需要创建额外的Entry对象,单个元素的存储成本更低。

2023-07-07 10:48:39 429

原创 TCP的三次握手和四次挥手

因为服务端在接收到FIN,往往不会立即返回FIN,必须等到服务端所有的报文都发送完毕了,才能发FIN。因此先发一个ACK(第二次挥手)表示已经收到客户端的FIN,延迟一段时间才发FIN。这就造成了四次挥手。如果是三次挥手会有什么问题?等于说服务端将第二次挥手和第三次挥手合并为一次挥手(把第二次挥手的数据放到第三次挥手时一起发送),这个时候长时间的延迟可能会导致客户端误以为FIN没有到达服务段,从而让客户端不断的重发FIN。

2023-07-05 21:55:37 608

原创 Java类的加载机制

1、加载的生命周期类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Intialization)、使用(Using)、卸载(Unloding)7个阶段。其中验证、准备、解析 3个部分统称为链接(Linking)。加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之

2023-07-05 14:27:07 3760

原创 Java内存结构分析

局部变量表存放了编译器可知的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、对象应用(reference类型,它不同于对象本身,可能是一个指向对象起始地址的引用指针,也可能是一个代表对象句柄或其他与此对象相关的位置)和returnAddress类型(指向了一条字节码指令的地址)。局部变量表所需的内存空间在编译期间完成分配,当进入一个方法时,这个方法需要在帧中分配多大的局部变量空间是完全确定的,在方法运行期间不会改变局部变量表的大小。

2023-07-03 16:34:03 2787

题库类App中比较头疼的公式问题,TextView加载Html,图文混排,Svg图片加载

题库类App中比较头疼的公式问题,关于题干和选项中对含有数学和化学公式TextView加载Html图文混排的处理方式(Svg图片、Base64图片、png图片的处理,以及针对公式不自动换行问题的处理)

2018-11-13

Activity手势滑动关闭的效果

最近感觉有一个Activity关闭的效果挺不错的,就是手势滑动就可以关闭当前Activity,于是就想写一篇博客和大家一起分享下!

2017-05-03

安卓 收藏和取消收藏的点击小动画

单纯的收藏和取消收藏,如果只是使用setSelect或者setImageResource方式更换已收藏和取消收藏的图片未免显得生硬了些,所以想到了添加一个添加收藏和取消收藏的动画

2017-04-21

类似于联系人列表的那种选择国家和地区

类似于联系人列表的那种选择国家和地区,点击右侧字母按字母查找对应的国家和地区(带有地区编码)

2016-07-30

空空如也

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

TA关注的人

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