自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android系统启动流程

当电源被启动时,引导芯片载入了预定义的引导程序(固化在ROM中),并将引导程序BootLoader加载到RAM中开始执行。

2024-04-06 00:12:59 626

原创 鸿蒙应用开发-ArkUI 计算器

效果图上的计算器界面简洁大方,每个按钮都经过精心设计,颜色搭配恰到好处,使得整体界面既美观又实用。按钮的实现代码已经给出,通过这段代码,我们可以看到如何设置按钮的文字颜色、背景颜色、圆角大小等属性。例如,我们选择了合适的颜色搭配,使得按钮在视觉上更加吸引人;同时,设置了较大的圆角,使得按钮呈现出圆润的外观,更加符合现代审美趋势。要实现计算器中的按钮,我们首先需要使用ArkUI中的Text组件来表示按钮上的文字。每个按钮都是一个独立的个体,因此我们使用Column布局来包裹每个按钮,以便进行统一的样式设置。

2024-04-04 16:24:53 317

原创 深入理解鸿蒙生命周期:从应用到组件

在开发鸿蒙(HarmonyOS)应用时,理解生命周期的概念至关重要。生命周期不仅关乎应用的性能优化,还涉及到资源管理和用户体验等多个方面。本文将详细解析鸿蒙操作系统中应用、页面和组件的生命周期,帮助开发者更好地掌握这一核心概念。

2024-03-31 20:28:36 648

原创 鸿蒙获取组件的位置信息

在鸿蒙应用开发中如何需要获取组件的位置信息

2024-03-17 02:20:51 472 1

原创 Java注解与注解处理器应用

这个例子中,我们创建了一个名为MyAnnotation的自定义注解。该注解具有两个成员:value和count,并且都有默认值。表示注解在运行时可见,这样我们可以在运行时通过反射来获取注解信息。表示注解可以用在方法上。在上面的例子中,我们在myMethod方法上应用了自定义注解@MyAnnotation,并指定了value和count的值。= null) {} else {这个例子中,我们通过反射获取了myMethod方法上的@MyAnnotation。

2024-01-27 00:46:03 884

原创 鸿蒙 ArkUI - 常用组件和布局

ArkUI有丰富的内置组件,包括文本、按钮、图片、输入框、单选框、多选框等。我们还可以将基础组件组合起来,形成自定义组件。

2024-01-15 21:29:03 499

原创 鸿蒙App开发-网络请求-下拉刷新三方库-底部Tab栏-滚动组件(含源码)

App底部是一个TabBar,点击TabBar可以切换上面的页面。共包含两个页面,一个是“首页” ,另一个是“空白页”。

2024-01-15 01:49:48 897

原创 鸿蒙HarmonyOS ArkUI开发-服务卡片-今天吃什么

具体来说,通过message事件来刷新卡片内容的方法如下:在FormExtensionAbility中,通过onFormEvent方法处理从WidgetCard发送过来的事件,并切换菜单数据。方法,这个方法触发的message事件可以拉起FormExtensionAbility,然后由FormExtensionAbility刷新卡片内容。以上代码主要实现的功能是通过点击事件触发两个文本的属性动画,一个淡入界面,一个淡出界面。ArkTS卡片具备JS卡片的全量能力,并且新增了动效能力和自定义绘制的能力,支持。

2024-01-10 00:59:27 830

原创 鸿蒙HarmonyOS- 弹框组件库

今天介绍一个基于ArkUI框架开发的弹框组件库,该库基于ArkUI的弹框基础功能和自定义能力。针对通用的弹框业务场景,该库提供了丰富的组件弹窗功能。包括确认输入弹窗、列表展示选择弹窗、自定义底部/顶部弹窗、自定义动画弹窗、自定义全屏弹窗、消息类弹窗、抽屉类弹窗、联想类弹窗、图片浏览弹窗等。通过使用这个组件库,可以让弹窗的集成和使用变得更加简单。

2024-01-03 00:11:16 996

原创 鸿蒙HarmonyOS-带笔锋手写板(三)

笔者用ArkTS 写了一个简单的带笔锋的手写板应用,并且可以将手写内容保存为图片。

2023-12-30 16:59:18 958

原创 鸿蒙HarmonyOS-图表应用

而MPChart就是这样一款图表库,它为开发者提供了丰富的功能和灵活性,使得创建各种类型的图表变得轻而易举。这不仅提升了用户体验,也使得数据的变化更加直观。在此阶段,顶部和底部 X 轴的相关参数被配置,包括标签个数、位置、最小值和最大值等。配置左边和右边 Y 轴的相关参数,包括标签个数、位置、顶部距离、最小值和最大值等。将上方和下方的限制线添加到左边的 Y 轴上,以完善图表的辅助线设置。配置图表的宽度、高度和 X 轴线的偏移量,以适应特定的显示需求。包括图表的x轴,y轴,宽高,偏移量,数据、model类。

2023-12-29 23:16:21 1847

原创 HarmonyOS应用开发-仿微信UI实现

在本篇博客中,介绍一个仿微信的 HarmonyOS 应用,应用包括微信的首页、通讯录、发现、我的页面,以及聊天界面。

2023-12-29 01:06:41 654

原创 HarmonyOS应用开发-手写板(二)

采用canvas和Path2D来重新构建手写板应用。只需几十行代码,就能轻松实现手写功能,并添加清空画布以及保存图片的功能。

2023-12-19 21:15:34 705

原创 HarmonyOS 4应用开发:1.从环境搭建到Hello World

创建好项目,我们会进入IDE,首先我们要了解基础的界面布局,它主要分为四个部分:1.工程目录区、2.代码编辑区、3.预览区、4.日志和控制台。这些部分的位置和大小都是可调整的,初始位置如下图所示。位于左侧,用于查看和管理项目文件。详细的介绍将在后续章节中进行。这是IDE的核心部分,位于中央位置。你可以在这里修改代码并切换显示的文件。通过按住Ctrl键并滚动鼠标滚轮,可以方便地实现界面的放大和缩小。在编辑器底部有一行工具栏,主要包括常用信息栏。

2023-12-18 00:08:00 155

原创 HarmonyOS应用开发-手写板

这是一个基于HarmonyOS做的一个手写板应用,只需要简单的几十行代码,就可以实现如下手写功能以及清空画布功能。这两个注解用于标识这个类是一个入口点并且是一个组件。在HarmonyOS中,这是定义页面的标准方式。这个函数处理触摸事件,根据手指按下和移动的位置,将相应的绘制命令添加到路径中,实现了手势绘制的功能。在HarmonyOS中,@State注解同样用于声明状态。这个函数定义了HarmonyOS页面的结构,包括清空按钮和用于展示绘图路径的组件。在这个代码中,我们构建了一个手势绘图应用。

2023-12-11 22:26:57 350

原创 HarmonyOS应用开发-闪屏启动页

此外router还有。启动页会在aboutToAppear生命周期内初始化轮播图片资源及定时任务,会展示5秒溪村的优美风景,用户可以点击右上角的跳过直接进入应用主页,也可以等5秒结束自动进入应用主页;在页面的构建函数中使用了 HarmonyOS 提供的组件和样式语法来定义页面的结构和样式。在组件即将显示的生命周期内,根据当前时间段分配溪村小镇风景图,并设置定时器,在一定时间后展示轮播图。构建页面的函数,使用 HarmonyOS 提供的组件和样式语法构建了页面的布局和样式。,以及控制页面状态的变量和计时器。

2023-12-10 00:40:27 985

原创 一个最简手电筒

使用方法:打开应用,点击屏幕开启手电筒,再次点击屏幕关闭手电筒。功能:开启关闭手机闪光灯。

2023-11-25 23:41:22 86

原创 openHarmony UI开发

ArkUI有丰富的内置组件,包括文本、按钮、图片、进度条、输入框、单选框、多选框等。和布局一样,我们也可以将基础组件组合起来,形成自定义组件。还有更多的组件可以到。

2023-10-21 00:26:44 429

原创 OpenHarmony自定义组件的生命周期

OpenHarmony自定义组件的生命周期

2023-10-16 19:46:27 188

原创 OpenHarmony状态装饰器

1.@State装饰的变量,或称为状态变量,一旦变量拥有了状态属性,就和自定义组件的渲染绑定起来。当状态改变时,UI会发生对应的渲染改变。在状态变量相关装饰器中,@State是最基础的,使变量拥有状态属性的装饰器,它也是大部分状态变量的数据源。2.@State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。初始化也可选择使用命名参数机制从父组件完成初始化。

2023-09-09 17:02:07 166

原创 【跟着AI学算法】剑指 Offer 27. 二叉树的镜像

当我们谈论二叉树的镜像,我们是指对于二叉树中的每个节点,都交换它的左右子节点。这样的操作能够得到二叉树的“反射”,形如一面镜子。下面我们详细介绍如何用 Java 语言完成这一算法题。

2023-08-18 22:41:26 45

原创 【跟着AI学算法】剑指 Offer 35. 复杂链表的复制

无论它指向哪里,新的节点A'的随机指针应该指向A的随机指针所指向的节点的对应的新节点。例如,如果A的随机指针指向B,则A'的随机指针应该指向B'。原因在于,当我们在第1步创建新节点并插入到原节点之后时,新的节点就位于原节点的。这段代码的核心逻辑是:对于原链表中的每一个节点,找到它的新节点(即。问题的核心是:当你拷贝链表中的每一个节点时,如何确保新的节点的。指针也正确指向了对应的新的链表中的节点,而不是原链表中的节点。,其随机指针所指向的节点的对应新节点正是。指针与原链表中的节点有相同的相对关系。

2023-08-18 00:55:49 50

原创 解决126邮箱SMTP服务发送带附件邮件时报错“421 Read data from client error“

引言:在使用126邮箱的SMTP服务发送带附件的邮件时,可能会遇到报错信息"421 Read data from client error"。这个错误通常是由于发送的二进制数据过长且没有换行符导致的。本文将介绍该问题的原因,并提供解决方案,即在uint8Array中每100KB左右添加一个换行符。

2023-07-02 13:00:21 3353

原创 OSI七层网络模型中的七层分别做了什么,是如何封装数据并发送数据的?

在发送数据时,每个层次都会将其所属的数据包或数据段封装到上一层的数据中,并添加相应的控制信息和协议头部。每层在接收到上一层的数据后,会先对数据进行处理,添加相应的控制信息和协议头部,然后将处理后的数据传递到下一层。数据链路层(Data Link Layer):该层将物理层传输的比特流转换为数据帧,并添加必要的控制信息,例如帧同步、数据流控制、差错检测和纠正等。网络层(Network Layer):该层负责处理数据包的传输,通过路由选择算法确定数据包的最佳路由,实现数据包的传输和转发。

2023-05-08 20:36:02 1167

原创 实现 Android UI 自适应的最佳实践

在 Android 开发中,不同设备的屏幕尺寸和分辨率千差万别,导致同一个界面在不同设备上的显示效果可能大相径庭。因此,为了在各种设备上都能呈现出优秀的 UI,开发者需要进行 UI 自适应的设计。

2023-05-03 20:40:41 1113

原创 Android注解框架与自己实现类似ButterKnife效果解析

IOC是Inversion of Control(控制反转)的缩写,是一种设计模式,其核心思想是将对象的控制权转移给容器或框架,而不是在代码中直接实例化和管理对象。在这种模式中,对象的创建和组装由容器完成,而应用程序只需要定义对象需要的属性和依赖关系,容器会自动完成对象的创建和依赖注入。在本文中,我们将介绍一个简单的IOC框架,它基于注解,可以实现视图的自动绑定和事件的自动绑定。

2023-05-01 17:57:08 165

原创 Android聊天程序开发

(1)聊天页面Activity代码如下,其中sendData()方法是发送信息的方法,它获取你输入的信息,放入信息列表中,并且调用getDataFromServer()方法,将你输入的信息发送到服务器,从服务器获取返回信息,从而实现和机器人的聊天功能。开发一款机器人聊天程序,首先来看效果,如图所示,它是一个简单的聊天界面,我问了它一个关于文学的问题和一个关于计算机程序的问题,看起来这两个问题回答得还不错,那么接下来就来看看这款程序是怎么开发的。方法用于发送聊天信息并获取服务器返回的聊天信息。

2023-04-30 20:08:48 1481

原创 自定义适配单选和多选情况的RadioButton和RadioGroup

在 Android 应用程序开发中,按钮是常见的 UI 元素。虽然 Android 提供了各种默认的按钮样式,但有时您可能需要自定义按钮以满足特定的设计需求。为此,我创建了一个自定义 RadioButton 类 CustomRadioButton,它继承自 AndroidX 中的 AppCompatTextView,实现单选题和多选题的效果,如上图所示。在左侧的多选题中,如果选择了ABD三个选项但未提交,选中的文字、背景和边框会呈现棕色,未选中的则会呈现灰色。

2023-04-30 19:35:20 1903

原创 Android页面同时实现滑动和点击翻页两种方式

需要注意的是,在实际开发中,我们还需要考虑到一些特殊情况,比如页面切换的边界处理、滑动距离的灵敏度设置等等。因此,在编写应用时,我们需要对用户的手势进行详细的分析和设计,以提高用户体验和应用的稳定性。如果用户的滑动距离太小,则我们认为用户是在点击,否则则认为用户是在滑动。在监听器中,我们根据用户的手势进行判断,如果是滑动操作,则根据滑动的方向进行页面跳转;同时,我们还对滑动的方向进行了判断,以保证只有左右滑动才进行页面跳转,而上下滑动则不进行处理。需要注意的是,在判断滑动方向时,我们使用了一个阈值。

2023-04-30 17:29:31 776

原创 对称加密和非对称加密算法简介

对称加密和非对称加密是两种常用的加密算法。对称加密(Symmetric Encryption)使用相同的密钥来进行加密和解密。常见的对称加密算法有:DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)和RC4(Rivest Cipher 4)等。在对称加密中,发送者和接收者需要事先共享同一个密钥,并且使用该密钥进行加密和解密操作。对称加密算法的优点是加解密速度快,适合对大量数据进行加密处理。

2023-04-13 20:59:51 4529

原创 Android常见的异步线程框架

当涉及到在 Android 应用程序中处理耗时操作时,如网络请求、数据库访问、IO 操作等,使用异步线程框架是一种常见的方式。

2023-04-13 20:09:56 925

原创 ArrayList 如何保证线程安全

四种保证ArrayList线程安全的方法

2023-04-13 17:52:26 4861

原创 Android Gradle强制更新依赖库

Android Gradle强制更新依赖库

2022-10-10 17:41:34 2265

原创 MacOS环境下安卓apk反编译

MacOS环境下安卓apk反编译

2022-08-08 16:35:54 704

原创 Apktool反编译出现问题:apktool 反编译 Input file was not found or was not readable

Apktool反编译出现问题:apktool 反编译 Input file was not found or was not readable

2022-08-08 15:28:41 2122 1

原创 Mac OS 输入adb命令无效(zsh: command not found: adb)的解决方法

Mac OS 输入adb命令无效(zsh: command not found: adb)的解决方法

2022-08-01 11:33:02 5191

原创 React Native跳坑记录

WebStorm支持可视化界面一键创建React Native程序

2022-07-25 00:27:34 374

翻译 缺失值的插补方法

本文翻译自:6.4. Imputation of missing values — scikit-learn 1.0.2 documentation因为各种原因,许多真实数据集包含缺失值,经常被编码成空格,NaN, 或者其他占位符。然而,这样的数据集与scikit学习估计器不兼容,后者假设数组中的所有值都是数值,并且都有意义。使用不完整数据集的基本策略是丢弃包含缺失值的整行和/或整列。然而,这是以丢失可能有价值(即使不完整)的数据为代价的。更好的策略是插补缺失值,即从数据的已知部分推断缺失值。有关插

2022-01-12 16:37:45 3103

转载 HTTP报文

http请求报文由请求行、请求头部和请求数据组成。请求行包括请求方法、url和协议版本。请求方法有GET, POST, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT。1.GET方法用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。GET请求是可以缓存的,我们可以从浏览器历史记录中查找到GET请求,还可以把它收藏到书签中;且GET请求有长度限制,仅用于请求数据。2.POS

2021-08-31 11:05:49 113

原创 安卓广播注册的两种方法

1.静态注册使用Android studio快捷方式创建BroadcastReceiver,自动会在AndroidManifest.xml中注册,然后就可以在创建的类中的onReceiver()方法中写要处理的逻辑;静态注册一般用于像开机之后就要收到广播的场景,不依赖于程序必须启动;2.动态注册在活动中创建一个内部类(该类就是自定义广播接收器),这个类继承BroadcastReceiver,然后再该类中重写onReceiver()方法。最后在Activity中调用registerReceiver

2021-08-30 09:56:22 9356

Java聊天室的设计与实现

Java实现的聊天室系统 包含项目截图、源代码、数据库、辅导视频等。 主要用于实现在线聊天,基本功能包括:服务端和客户端。本系统结构如下: (1)服务端: 1、能够开启和关闭服务器 2、等待着客户端从特殊端口发送的请求 3、监听的端口并不是固定的,服务端的端口是能够自定义的 4、能够广播消息向所有连接到服务器的用户 (2)客户端: 1、能够和服务端进行连接 2、新的用户能够注册账号 3、通过用户名以及密码完成用户的登陆,连接到聊天室 4、用户能够在聊天室发送消息

2024-04-22

WanAndroid.zip

WanAndroid.zip

2024-01-14

空空如也

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

TA关注的人

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