手机随时阅读
新人专享大礼包¥24
一、HarmonyOS应用程序简介应用程序泛指运行在操作系统之上,为用户提供特定服务的程序,简称——“应用(Application)”,一般运行在手机和平板电脑上!HarmonyOS的运行状态有两种:传统的需要安装的应用HarmonyOS特定的,免安装的原子化服务官网关于原子化服务的介绍如下:原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方
一、简介1.1 什么是页面信息以页面信息组织,信息页面由语言来实现,在各个信息页面之间建立超文本链接以便浏览,这就是页面。页面一般包括:文本、图像、表格、超链接等基本元素。2.1 HarmonyOS(鸿蒙)中的页面当我们打开手机App之后看到的都是页面!在HarmonyOS中,一个页面可以被当做一个Ability,更准确的说是Page Ability中的AbilitySlice(指应用的单个页面及
一、简介1.1 结构应用的每个HAP的根目录下都存在一个“config.json”配置文件。文件内容主要涵盖以下三个方面:如下是一个简单的HarmonyOS应用程序创建后所看到的应用代码结构,entry -> src -> main -> config.json文件。其中三个模块分别为app、deviceConfig、module(我这里展示的三块是缩放后的内容。)2.1 编辑
一、准备1.1 创建项目进入HarmonyOS(鸿蒙)正式开发之前,可以通过一个简单的HelloWorld的示例代码来了解其运行时的相关流程。如下是通过DevEco Studio创建的一个简单HelloWorld示例代码结构,接下来会分析其启动流程。1.2 运行项目运行上面的HelloWorld,展示效果如下所示:二、分析启动流程2.1 启动流程图一个简单的HarmonyOS(鸿蒙)HelloWo
一、简述滑动事件有多个步骤组成,它不是一个简单的事件,它需要多个动作来共同完成,滑动根据方向不同分为向上滑动、向下滑动、向左滑动和向右滑动。在现如今移动互联网和短视频等行业的迅猛发展,滑动事件大家都非常的熟悉,尤其是抖音、快手这些快餐式的娱乐小视频,一滑就停不下来。日常生活中,我们经常使用坐标系来确定位置,在手机中也是如此,手机的坐标系是三维立体空间,分为x、y、z轴,以屏幕左上角为坐标轴原点,水
一、简述滑动事件有多个步骤组成,它不是一个简单的事件,它需要多个动作来共同完成,滑动根据方向不同分为向上滑动、向下滑动、向左滑动和向右滑动。在现如今移动互联网和短视频等行业的迅猛发展,滑动事件大家都非常的熟悉,尤其是抖音、快手这些快餐式的娱乐小视频,一滑就停不下来。滑动事件基本上包含如下三个动作:按下操作,并且不松开移动操作,移动过程中不松开抬起操作,移动结束后松开滑动事件我们一般是针对整个屏
一、实现步骤实现HarmonyOS(鸿蒙)的长按事件主要分为四个步骤:定义组件,给组件分配唯一ID,之后通过ID定位组件给定义的组件绑定双击事件实现Component.LongClickedListener接口并重写onLongClicked方法实现onLongClicked方法中的具体逻辑,以此完成长按事件的相关业务操作二、代码实现2.1 定义页面元素<?xml version="1.0"
一、简介1.1 什么是组件组件就是文本、按钮、图片等元素的统称1.2 什么是事件事件就是可以被组件识别的操作,常见的事件有单击、双击、长按和滑动等。1.3 什么是双击事件双击事件就是我们对屏幕连续点击两次,比如刷抖音双击屏幕的点赞等……1.4 实现步骤实现HarmonyOS(鸿蒙)的双击事件主要分为四个步骤:定义组件,给组件分配唯一ID,之后通过ID定位组件给定义的组件绑定双击事件实现Double
一、简介HarmonyOS(鸿蒙)开发过程中,使用到的最多的事件就是单击事件,单击事件一共有四种写法,它们有一些细微的区别和场景。四种写法如下:定义实现类当前类作为实现类匿名内部类方法引用二、定义实现类定义实现类ClickedListener实现Component.ClickedListener接口并且重写onClick方法/** * 实现ClickedListener接口并重写onClick方法
一、简介1.1 什么是组件组件就是文本、按钮、图片等元素的统称1.2 什么是事件事件就是可以被组件识别的操作,常见的事件有单击、双击、长按和滑动等。1.3 什么是单击事件单击事件又称点击事件,单击事件是我们平时操作过程中触发的最多的事件。1.4 实现步骤实现HarmonyOS(鸿蒙)的单击事件主要分为四个步骤:定义组件,给组件分配唯一ID,之后通过ID定位组件给定义的组件绑定单击事件实现Click
一、简介Text是用来显示字符串的组件,在界面上显示为一块文本区域。Text作为一个基本组件,有很多扩展,常见的有按钮组件Button,文本编辑组件TextField。Text组件继承自Componet。华为官方学习地址:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-java-component-
1、简介Image是用来显示图片的组件,我们在开发中使用的非常频繁!2、属性表Image也是组件,它继承自:ohos.agp.components.Component我们在使用Image组件的时候,只需要事先搞懂它的属性,使用起来就很方便了(官方指定的全部Image属性,都在这里):属性名称中文描述取值取值说明使用案例clip_alignment图像裁剪对齐方式left表示按左对齐裁剪。oho
1、简介著名的图灵奖得主:尼古拉斯·沃斯,提出一个著名的等式:程序 = 算法 +数据结构。因此我们程序员应该花精力做好学好算法和数据结构,但是这并不是我们编写代码时最应该做好的事情;因为在99.99%的场景下,不需要我们来设计算法和实现数据结构(即便是一般的算法工程师也是如此)。所以在实际开发中,我们编写代码最应该做好的事情是什么呢?小捌认为是良好的命名规范和详细的代码注释,这两个看似简单的问
1、简介abstract和interface关键字在Java中随处可见,它是Java三大特性封装、继承、多态特性的实现重要支柱之一。interface关键字用于定义接口抽象,其本质上是用于定义类型、定义类所具有的能力。但是新手往往错误的使用了abstract和interface,小捌其实也一样犯错误,这篇文章我们盘一盘interface接口和abstract抽象类的使用。文章开始前建议带着两
1、简介访问修饰符是Java语法中很基础的一部分,但是能正确的使用Java访问修饰符的程序员只在少数。在Java组件开发中,如果能够恰到好处的使用访问修饰符,就能很好的隐藏组件内部数据和不必公布的实现细节,从而把组件API和实现细节隔离;正确的使用访问修饰符开发的Java组件,在组件与组件的调用和依赖过程中,也能很好的解耦程序,以至于整个组件能够持续开发、持续测试、持续更新。小捌温馨总结:通过限制
1、简介不知道大家有没有在自己项目中看到过类似下面这样的代码:public static void fruitsHandle(String fruits) { switch (fruits) { case "Apple": // TODO break; case "Banana": // TODO
1、简介不知道大家有没有在开发中重写过hashcode方法,或者在面试中遇到相关的问题。比如一些比较基础的Java工作岗位可能会问:你有使用过对象作为HashMap的key吗?这个问题其实考察的就是程序员对应hashcode方法重写的相关知识点,如下HashMap的put方法截图可以看出,往容器中添加元素计算hash值时,调用了key对象的hashcode方法。如何正确的重写hashcode方法?
1、简介Java程序员都知道java.lang.Object类,这是所有类的超类。Object类中提供了几个public的方法,比如:public boolean equals(Object var1) { return this == var1;}public String toString() { return this.getClass().getName() + "@"
简介在Java开发中,程序员经常会遇到各种资源的释放问题。比如最常见的I/O操作,我们往往会通过调用API提供的close方法来关闭流,释放资源。但是追求极致的程序员会发现,这种方式存在不少问题,比如忘记关闭流、代码不美观、异常不好处理等等。今天我们就来盘一盘这个问题,最后优雅的去解决掉它。正文我们先来看一段代码,大家看看自己有没有中招,顺带认真分析一下这段代码有什么问题!/** * 读取指定路
简介在Java开发中,程序员要尽可能的避免创建相同的功能的对象,因为这样既消耗内存,又影响程序运行速度。在这种情况下可以考虑重复利用对象。接下来举例几种对象重复利用的场景,看看我们是不是有中招了,如果有赶紧趁着还没被发现悄悄改掉,被发现了会被diss啦!1、String和Boolean如下两种写法看似没有什么区别,但是如果深入jvm底层了解,我们可以利用jvm运行时常量池的特性,避免创建具有相同功
1、简介Hystrix Dashboard虽然好用,但是它有一个缺点:一个Hystrix Dashboard只能收集一个微服务的Hystrix流。也就是说对于每个微服务,我们都需要开启一个Hystrix Dashboard来监控其健康情况。可以看到如下Hystrix Dashboard只能输入一个actuator端点地址。这能忍?反正我是忍不了。忍不了我们就可以使用Turbine;Netfilx的
1、简介Hystrix Dashboard是一个通过收集actuator端点提供的Hystrix流数据,并将其图表化的客户端。如果需要通过图表化的界面查看被断路器保护的方法相关调用信息、或者实时监控这些被断路器保护的应用的健康情况,就可以使用Hystrix Dashboard。2、正文2.1 启动Hystrix Dashboard创建一个Spring Boot项目添加Hystrix Dashbo
1、简介在微服务中,服务与服务之间的调用经常出现两个不确定性因素:网络延迟服务异常延迟在微服务中是一个非常重要的性能指标,随着服务的增加,调用链越来越复杂,此时低延迟往往是微服务系统架构中首要目标;高网络延迟可能会拖垮整个微服务,这是不允出现的。此外服务内部可能会发生未知异常,或者未捕获的异常,这时异常如果没有得到正确的处理,将会沿着调用链往上抛出,这对上传调用链来说也是致命的,因为往往这个时候上
1、简介传统配置的痛点:在以前的项目中,我们通过配置文件、操作系统变量、Java系统属性等方式配置Java项目;在spring boot爆火之后我们的配置信息都写在application.yml或application.properties文件中,这些配置文件随着项目的打包与应用一起发布;但是当我们需要修改配置文件中的配置信息的时候,需要更新配置文件重新构建、重新发布;如果配置信息配置在操作系统环
1、简介Feign是一个REST客户端库,它通过接口驱动的方式来定义REST客户端。Spring Cloud Netflix体系中的Eureka服务注册中心客户端支持Ribbon客户端负载均衡器,而Feign本质上是Ribbon的包装,其内部是通过Ribbon来进行服务查找和负载均衡。在Spring Cloud Netflix体系中,我们通常会通过以下两种方式进行服务通信:支持负载均衡的RestT
1、简介Eureka集群提供了分区功能,这种功能设计理念来源于亚马逊云AWS创造的两个基础概念region(地域)和zone(可用区):region:地域就是物理意义上的不同地域,在服务部署时会选择在用户需求大的区域建设多个机房并部署服务,这样可以减少网络不稳定带来的问题zone:一个region下可以划分为多个zone。也就是说一个区域的多个机房服务器,按照一定规则划分为不同的可用区(比如说一个
1、简介非分区集群部署是Eureka一种简单的集群部署方式,这种方式下集群中的Eureka Server不分区。通常情况下,如果我们的Eureka服务器都在同一个机房中,可以采取这种方式集群部署。2、修改hosts文件由于我在Windows环境下启动多个Eureka服务模拟集群部署,因此先修改C:\Windows\System32\drivers\etc\hosts文件,以便于正确的域名寻址(不修
1、简介Eureka在Spring Cloud Netflix项目中担任微服务注册中心的角色。Eureka本身也是一个微服务,它的作用就是让微服务之间能够互相发现。如上图,服务提供者将自身服务信息注册到Eureka上,服务消费者从Eureka中获取可用服务实例信息,通过客户端负载均衡器Ribbon选择服务发起请求。Eureka解决了以下几个问题:服务消费者`硬编码服务提供者的主机和端口信息服务提供
1、简介synchronized是Java并发领域元老级人物,synchronized很多程序员都会用,它有三种表现形式。普通同步方法 -> synchronized锁住的是当前对象private synchronized void demo() { // todo}静态同步方式 -> synchronized锁住的是当前类的Class对象private static synch
1、简介我们Java程序员编码时谈论的最多的两个字就是对象,Java中几乎所有的技术都是围绕对象展开。本文将要讲述的Monitor并不是Java对象,而是在操作系统中关联的“对象”,Monitor是Java重量级锁synchronized实现的关键,因此学习Java单机同步机制就离不开对Monitor的剖析。Monitor经常被人们称为监视器锁和管程。2、对象头Monitor与Java对象头相关联
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号