自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【鸿蒙开发】第二十五章 Network 网络服务

Network Kit(网络服务)主要提供包括HTTP数据请求、WebSocket连接、Socket连接、网络连接管理、MDNS管理。

2024-09-24 20:12:18 1101

原创 【鸿蒙开发】第二十四章 IPC与RPC进程间通讯服务

与用于实现跨进程通信,不同的是。需要跨进程通信的原因是因为每个进程都有自己独立的资源和内存空间,其他进程不能随意访问不同进程的内存和资源,IPC/RPC便是为了突破这一点。Binder设备内的跨进程通信软总线跨设备跨进程通信说明:Stage。

2024-05-13 20:56:03 1278

原创 【鸿蒙开发】第二十三章 Location位置服务

位置子系统使用多种定位技术提供服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位、WLAN/蓝牙定位后续统称“网络定位技术”);通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定设备位置。除了提供基础的定位服务之外,还提供了地理围栏、地理编码、逆地理编码、国家码等功能和接口。坐标系统以1984年世界大地坐标系统为参考,使用经度、纬度数据描述地球上的一个位置。GNSS定位。

2024-04-30 20:48:21 915

原创 【鸿蒙开发】第二十二章 Media Library媒体文件管理服务

提供了,包括照片和视频,帮助你的应用快速构建图片视频展示和播放能力。通过Media Library Kit, 开发者可以管理相册和媒体文件,包括创建相册以及访问、修改相册中的媒体信息等,其中对三方应用开放的能力有:媒体资源(图片、视频)相关获取指定媒体资源获取图片和视频缩略图创建媒体资源(安全控件)重命名媒体资源用户相册相关获取用户相册重命名用户相册添加图片和视频到用户相册中获取用户相册中的图片和视频从用户相册中移除图片和视频系统相册相关视频相册。

2024-04-30 19:59:27 1362 1

原创 【鸿蒙开发】第二十一章 Media媒体服务(二)--- 音频播放和录制

使用AVPlayer可以实现端到端播放原始媒体资源,本开发指导将以完整地播放一首音乐作为示例,向开发者讲解AVPlayer音频播放相关功能。以下指导仅介绍如何实现媒体资源播放,如果要实现后台播放或熄屏播放,需要使用和申请长时任务,避免播放被系统强制中断。创建AVPlayer设置播放资源重置销毁资源。在进行应用开发的过程中,开发者可以通过AVPlayer的state属性主动获取当前状态或使用监听状态变化。如果应用在音频播放器处于错误状态时执行操作,系统可能会抛出异常或生成其他未定义的行为。

2024-04-14 11:39:50 1620

原创 【鸿蒙开发】第二十一章 Media媒体服务(一)

提供了AVPlayer和AVRecorder用于播放、录制音视频。在Media Kit的开发指导中,将介绍各种涉及的开发方式,指导开发者如何使用系统提供的音视频API实现对应功能。比如使用SoundPool实现简单的提示音,当设备接收到新消息时,会发出短促的“滴滴”声;使用AVPlayer实现音乐播放器,循环播放一首音乐。

2024-04-14 11:14:37 1142

原创 【鸿蒙开发】第二十章 Camera相机服务

开发者通过调用提供的接口可以开发相机应用,应用通过访问和操作相机硬件,实现基础操作,如、和;还可以通过接口组合完成更多操作,如、等。相机调用摄像头采集、加工图像视频数据,精确控制对应的硬件,灵活输出图像、视频内容,满足多镜头硬件适配(如广角、长焦、TOF)、多业务场景适配(如不同分辨率、不同格式、不同效果)的要求。相机的工作流程如图所示,可概括为相机输入设备管理、会话管理和相机输出管理三部分。相机应用通过控制相机,实现图像显示(预览)、照片保存(拍照)、视频录制(录像)等基础操作。在实现基本操作过程中,相

2024-04-13 17:01:31 2099 1

原创 【鸿蒙开发】第十九章 Image图片处理

应用开发中的图片开发是对图片像素数据进行解析处理构造的过程,达到目标图片效果,主要涉及图片解码图片处理图片编码等。图片解码指将所支持格式的存档图片解码成统一的PixelMap,以便在应用或系统中进行图片显示或图片处理。当前支持的存档图片格式包括JPEG、PNG、GIF、RAW、WebP、BMP、SVG、ICO。PixelMap指图片解码后无压缩的位图,用于图片显示或图片处理。图片处理指对PixelMap进行相关的操作,如旋转、缩放、设置透明度、获取图片信息、读写像素数据等。图片编码。

2024-04-08 12:09:06 2061 1

原创 【鸿蒙开发】第十八章 Web组件(二)

Web组件支持在应用拦截到页面请求后自定义响应请求能力。开发者通过接口来实现自定义资源请求响应。自定义请求能力可以用于开发者自定义Web页面响应、自定义文件资源响应等场景。Web网页上发起资源加载请求,应用层收到资源请求消息。应用层构造本地资源响应消息发送给Web内核。Web内核解析应用层响应信息,根据此响应信息进行页面资源加载。在下面的示例中,Web组件通过拦截页面请求“https://www.example.com/test.html”, 在应用侧代码构建响应资源,实现自定义页面响应场景。

2024-03-09 21:42:08 1081

原创 【鸿蒙开发】第十七章 Web组件(一)

Web组件用于在应用程序中显示Web页面内容,为开发者提供等能力。Web组件提供基础的前端页面加载的能力,包括。Web组件提供丰富的页面交互。Web组件支持使用Devtools工具调试前端页面。

2024-03-09 21:06:10 749

原创 【鸿蒙开发】第十六章 ArkTS基础类库-容器(数据结构)

容器类库:用于存储各种数据类型的元素,并具备一系列处理数据元素的方法,作为纯数据结构容器来使用具有一定的优势。容器类采用了类似静态语言的方式来实现,并通过对存储位置以及属性的限制,让每种类型的数据都能在完成自身功能的基础上去除冗余逻辑,保证了数据的高效访问,提升了应用的性能。当前提供了线性和非线性两类容器,共14种。每种容器都有自身的特性及使用场景,详情请参见线性容器和非线性容器。

2024-03-03 16:30:00 1579

原创 【鸿蒙开发】第十五章 ArkTS基础类库-并发

为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,系统提供了异步并发和多线程并发两种处理策略,ArkTS支持异步并发和多线程并发。并发能力在多种场景中都有应用,其中包括单次I/O任务CPU密集型任务I/O密集型任务和同步任务等。:是指异步代码在执行到一定程度后会被暂停,以便在未来某个时间点继续执行,这种情况下,同一时间只有一段代码在执行。Promise和提供异步并发能力,适用于单次I/O任务的开发场景。详细请参见异步并发概述。:允许在同一时间段内同时执行多段代码。

2024-03-03 15:51:46 1784

原创 【鸿蒙开发】第十四章 Stage模型应用组件-任务Mission

系统服务侧管理一个UIAbility实例的最小单元,对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。:任务管理的最小单元。一个中仅有一个,即一个UIAbility组件实例对应一个单独的任务。:一个从桌面开始启动的任务列表,记录了任务之间的启动关系,下一个任务由上一个任务启动,最底部的任务由桌面启动,这里称之为任务链。:系统任务管理模块,内部维护了当前所有的任务链,与最近任务列表保持一致。任务的管理由系统应用(如桌面应用)负责,三方应用无法管理任务。

2024-02-24 15:34:08 1225

原创 【鸿蒙开发】第十三章 Stage模型应用组件-线程和进程

当前的进程模型如下图所示。应用中(同一Bundle名称)的所有UIAbility和均是运行在同一个独立进程(主进程)中,如下图中绿色部分的“应用中(同一Bundle名称)的所有同一类型(除和外)均是运行在一个独立进程中,如下图中蓝色部分的“”、“”、其他。WebView拥有独立的渲染进程,如下图中黄色部分的“说明:仅系统应用支持构建ServiceExtensionAbility和DataShareExtensionAbility。执行hdc shell命令,进入设备的shell命令行。

2024-02-24 12:05:42 1319

原创 【鸿蒙开发】第十二章 Stage模型应用组件-信息传递载体Want

上一章节我们学习了UIAbility组件,其中组件间的交互传递信息的媒介就是Want,本章节我们来更加深入学习Want的相关知识。Want是一种对象,用于在应用组件之间传递信息。

2024-01-31 17:52:31 930

原创 【鸿蒙开发】第十一章 Stage模型应用组件-UIAbility

UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。

2024-01-30 17:09:17 1637

原创 【鸿蒙开发】第十章 ArkTS语言UI范式-状态管理(二)

上章节 第九章 ArkTS语言UI范式-状态管理 我们了解了状态管理是什么,分别有哪些状态管理,并介绍了组件内状态管理的相关知识,本章节接着上一章节的内容,我们来继续学习`应用状态管理`和`其他状态管理`的相关知识。

2024-01-13 15:00:12 1528

原创 【鸿蒙开发】第九章 ArkTS语言UI范式-状态管理(一)

在前文的描述中,我们构建的页面多为静态界面。如果希望构建一个。我们本章节来学习状态管理机制。

2024-01-06 22:53:52 1493

原创 【鸿蒙开发】第八章 ArkTS语言UI范式-基础语法(二)

/ 定义// 使用自定义组件内可以定义多个@Builder方法,对该组件私有不允许组件外调用,通过this访问自定义组件的状态变量而不是参数传递。// 定义// 使用全局的自定义构建函数可以被整个应用获取不允许使用this和bind方法。如果不涉及组件状态变化,建议使用全局的自定义构建方法。是属性方法,可以根据UI内部状态来设置样式,类似于css伪类,但语法不同。ArkUIfocused:获焦态。normal:正常态。pressed:按压态。disabled:不可用态。:选中态。

2024-01-06 22:51:06 1423

原创 【鸿蒙开发】第七章 ArkTS语言UI范式-基础语法(一)

自定义组件即开发者根据自己的业务要求定义组件,代码可复用性、业务逻辑与UI分离,后续版本演进等因素。因此,将UI和部分业务逻辑封装成自定义组件是不可或缺的能力。可组合:允许开发者组合使用系统组件、及其属性和方法。可重用:自定义组件可以被其他组件重用,并作为不同的实例在不同的父组件或容器中使用。数据驱动UI更新:通过状态变量的改变,来驱动UI的刷新。@Entry@Componentbuild() {// HelloComponent自定义组件组合系统组件Row和TextRow() {

2023-12-23 16:11:16 1974

原创 【鸿蒙开发】第六章 ArkTS基础知识 - 类、接口及泛型

大概了解ArkTS的基础类型和用法和ts的大致基本相同,与Java也极其相似。本章节我们继续学习ArkTS类和接口、泛型等相关知识,为后续鸿蒙应用开发夯实基础。

2023-12-16 21:18:36 8983 5

原创 【鸿蒙开发】第五章 ArkTS基础知识 - 声明变量、常量、类型和函数

if语句的条件支持非boolean值,对于boolean以外的类型,会进行隐式类型转换,null、undefined、空字符串、0等默认值都为fasleArkTS声明的变量、常量、类型、函数都跟TypeScript的大致基本相同,与Java也极其相似。所以如果是有一定语言基础的小伙伴,学习ArkTS的语法毫无难度,基本按照官方文档提供的指引学习即可,后面章节我们会继续记录ArkTS的学习。

2023-12-11 20:56:48 14310 1

原创 【鸿蒙开发】第四章 Stage应用模型及项目结构

经过对鸿蒙应用模型和项目结构的了解,关于咱们步入Harmony开发,有着指引的效果,能够清晰的知道各个文件及文件夹的效果,在哪里书写代码,又是在哪里增加资源,能够有一个直观的定位,Android开发者转过来的同学当然比较容易理解,但对其他非移动端开发者,本章节更加的需要了解清楚才能开始我们后续的鸿蒙开发之旅啦。

2023-12-09 17:26:20 2101

原创 【鸿蒙开发】第三章 鸿蒙应用开发学习路线

前面两个章节我们学习了,完成了。了解了鸿蒙项目开发的整体流程,本章节我们一起来学习下整个鸿蒙开发的学习路线,为后面的鸿蒙开发学习明确目标。

2023-12-08 20:52:23 685

原创 【鸿蒙开发】第二章 环境配置,运行HelloWorld工程

的最新版本是3.1,也可以到上一章我们提到的下载,目前中的最新版本4.0,不同版本或平台安装的流程基本一样,本文按照Mac电脑版本安装流程做说明,各位根据电脑选择合适的版本。

2023-12-04 17:51:19 570

原创 【鸿蒙开发】第一章 简介

首先我们得了解HarmoneyOS和HarmonyOSHarmonyOS全场景全连接全智能时代智能终端设备操作系统万物互联怎么理解呢?的地位相当于安卓HarmonyOS就相当于基于安卓打造的EMUI。华为开源,把它捐献出来,就是想所有厂商可以基于开发出像MIUIColor OS等属于且适合厂商自己的操作系统。相当于是华为做的毛坯房,HarmonyOS是基于这个毛坯房做的精装房,而且这个毛坯房谁都可以使用。HarmonyOS拥有的所有优秀特质,又不同于,因为它拥有。

2023-12-04 14:48:11 839

原创 【Kotlin精简】第9章 Kotlin Flow

Flow是google官方提供的一套基于Kotlin协程的响应式编程模型,它与RxJava的使用类似,但相比之下Flow使用起来更简单,另外Flow作用在协程内,可以与协程的生命周期绑定,当协程取消时,Flow也会被取消,避免了内存泄漏风险。Flow是Kotlin提供的一个工具,使用协程封装成生产者-消费者模式。上游来负责生产、中介进行数据加工(可选)、下游来接收消耗。

2023-11-24 16:31:42 691

原创 【Kotlin精简】第8章 协程

在 Android 平台上,协程主要用来解决两个问题:1. 处理耗时任务 (Long running tasks),这种任务常常会阻塞住主线程;2. 保证主线程安全 (Main-safety) ,即确保安全地从主线程调用任何 suspend 函数。特点一句话总结:协程能更加安全实现异步代码同步化,实质是对线程切换的封装

2023-11-14 16:54:22 783 2

原创 【Kotlin精简】第7章 泛型

泛型即 “参数化类型”,将类型参数化,可以用在类接口函数上。与Java一样,Kotlin也提供泛型,为提供保证,的烦恼。

2023-11-05 16:22:28 556

原创 【Kotlin精简】第6章 反射

反射是一种在运行时动态访问对象属性和方法的方式,而不需事先确定这些属性是什么。一般来说当你访问一个对象的方法或者属性时,程序的源代码会因用一个具体的声明,编译器将静态解析这个引用并确保这个声明是存在的。但有时候你要编写能够使用任意类型的对象的代码,或者只能在运行时才能确定要访问的方法和属性的名称。

2023-10-24 22:51:16 1136

原创 【Kotlin精简】第5章 简析DSL

Kotlin DSL是一种强大的工具,可以帮助我们编写更简洁、优雅的代码。通过使用Kotlin DSL,我们可以提高代码的可读性、灵活性和类型安全性。当然Android中DSLDSL 是什么?DSL 是一种针对特殊编程场景的语言或范式,它处理效率更高,且表达式更为专业。例如 SQL、HTML、正则表达式等。Kotlin 如何支持 DSL通过 扩展函数、带接收者的函数类型等来支持使用 DSL。Kotlin 自定义 DSL 的优势。

2023-10-22 14:37:46 530

原创 【Kotlin精简】第4章 函数

函数是用来运行代码的载体,可以在一个函数里编写很多行代码,当运行这个函数时,函数中的所有代码会全部运行。Kotlin中的函数同Java完全面向对象的规则不太一样,在Kotlin的世界里,函数也是准C位的,同面向对象一样属于一等公民,Kotlin也提倡函数式编程。Kotlin中的函数分为普通函数中缀函数局部函数泛型函数尾递归函数扩展函数内联函数高阶函数lambada函数等。

2023-10-15 17:22:13 472

原创 【Kotlin精简】第3章 类与接口

Kotlin类的声明和Java没有什么区别,Kotlin中,类的声明也使用class关键字,如果只是声明一个空类,Kotlin和Java没有任何区别,不过定义类的其他成员会有一些区别。实例化类不用写new,类被继承或者重写必须加上open关键字,构造器可以写在类后面。构造函数属性方法。Kotlin接口和Java的抽象类基本类似,可以有抽象方法,也可以有方法体。但override作为关键字使用,而不是注解。

2023-10-14 17:47:37 503

原创 【Kotlin精简】第2章 集合

在 Kotlin 中集合主要分为可变集合与只读集合,其中可变集合使用 “Mutable” 前缀 + 集合类名表示,比如MutableSetMutableMap等。而对于只读集合就是和 Java 中集合类名是一致。Java 中的 List 非 Kotlin 中的 List , 因为 Kotlin 中的,却有点类似于 Kotlin 中的。只读集合可变集合addremoveclear集合是可变数量的一组条目。List: 是有序集合,可以通过下标访问元素,元素可以重复。Set。

2023-10-08 18:04:20 621

原创 【Kotlin精简】第1章 基础类型

Kotlin中,我们可以调用任何变量的成员函数和属性,从这个角度来说,一切皆对象。某些类型可以有特殊的内部表现。数字字符和布尔型在运行时可以表现为。

2023-10-07 17:26:24 358

原创 【Android Framework系列】第17章 Android Q沙箱模式(Scoped Storage)

App TargetSDK > 28 即 Android10(Q)及以上项目,Google限制了存储沙箱模式,在Android10(Q)以上的设备建议使用私有目录data/data,无法再直接访问外部SD卡存储目录,如需要使用外部SD卡存储目录则需要通过SAF、MediaStore接口访问,并且只能访问特定的外部SD卡存储目录,如Downloads、Documents、Pictures 、DCIM、Movies、Music、Ringtones

2023-09-23 16:29:01 2083

原创 【Android Framework系列】第16章 存储访问框架 (SAF)

本章节大概了解SAF框架,我们下一章将对Android Q的沙箱模式(Scoped Storage)进行介绍。

2023-09-23 11:06:42 3856

原创 【Android Framework系列】第15章 Fragment+ViewPager与Viewpager2相关原理

ViewPager只能横向滚动,对应不同的Adapter效果不一样。范围外fragments会保存在内存中(detach),但是fragment对应的View会被销毁,fragments对应的SavedState会保存,内存较大但页面切换更友好,适用于Fragment数量少的情况使用,范围外fragments不会保存在内存中(remove),View也会被销毁。只保存范围内fragments对应的SavedState。这个SavedState在Fragment的生命周期回调中供外部传参数。

2023-09-21 11:02:13 1043

原创 【Android Framework系列】第14章 Fragment核心原理(AndroidX版本)

Fragment是一个历史悠久的组件,从API 11引入至今,已经成为Android开发中最常用的组件之一。Fragment表示应用界面中可重复使用的一部分。Fragment定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。Fragment不能独立存在,而是必须由Activity或另一个Fragment托管。Fragment的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。本章节主要探索Fragment的生命周期状态及事务管理。

2023-09-04 17:35:55 1181

原创 【Android Framework系列】第13章 SVG矢量图形自定义组件(绘制中国地图)

本章节我们来了解下什么是矢量图形,怎么通过实现图形的绘制,通过实现不规则的自定义控件,项目实现一个中国地图,实现每个省都能够点击,项目地址在文末请自取。与其他图像格式相比,使用的优势在于:一般是由 UI设计师来做,我们也需要大概了解一下:编辑SVG地址在线编辑SVGSVG语法教程地图数据矩形2.5 Path支持的指令:3 项目实战上面我们大概了解了是什么,有什么优势。接下来我们用实现一个中国地图的展示及点击选中省份的小项目来练练手。项目结构如上图所示:直接上代码R.layout.acti

2023-08-31 21:05:09 1498 2

空空如也

空空如也

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

TA关注的人

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