- 博客(24)
- 收藏
- 关注
原创 鸿蒙面试的一些可能问到的点
Link 装饰的变量和父组件会构建双向同步关系,子组件使用 @Link 定义变量的时候不需要赋值, 而是调用子组件的时候进行赋值,调用子组件赋值的时候使用 "$变量名" 的形式进行赋值,@Link 装饰器不能再 @Entry 装饰的自定义组件中使用。继承@State的功能,定义时不需要本地直接初始化,调用子组件时需要对其进行赋值,被修饰的变量建立和父组件单向同步关系,@Prop可变但不会传回父组件,父组件变化@Prop被覆盖。目标页面会被添加到页面栈顶,无论栈中是否存在相同url的页面。
2024-10-12 09:45:42 935
原创 鸿蒙上架流程
鸿蒙应用发布上架相关流程,在appGallery Connect选择项目,创建添加项目,填写对应信息,再去申请证书和profile文件,鸿蒙应用通过证书和profile文件确定应用/元服务的完整性,上架前需要使用证书和profile文件对应用/元服务进行签名。首先在DevEco中通过 密钥 生成证书请求文件,通过证书请求文件申请发布证书,再通过发布证书申请发布profile文件,最后在DevEco中配置相关信息,编译打包出签名的软件包。发布前,可以向邀请用户发布测试任务,开启小范围测试体验。
2024-08-29 10:28:22 371
原创 鸿蒙性能优化相关
布局时应尽量减少总节点数,减少性能消耗优化方向1,移除冗余的节点2,使用扁平化布局减少节点数具体内容:移除多余的外层线性布局切换不同的布局类型实现扁平化合理控制元素的显示隐藏设置固定宽高减少measure的耗时(未设置和百分比宽高性能消耗较大)仅在必要环境下使用高性能布局。
2024-08-23 17:43:17 833
原创 鸿蒙持久化存储有哪些
数据库将在如下的目录结构中被创建:context.databaseDir + '/rdb/' + customDir,其中context.databaseDir是应用沙箱对应的路径,'/rdb/'表示创建的是关系型数据库,customDir表示自定义的路径。PersistentStorage的持久化变量最好是小于2kb的数据,不要大量的数据持久化,因为PersistentStorage写入磁盘的操作是同步的,大量的数据本地化读写会同步在UI线程中执行,影响UI渲染性能。
2024-08-22 17:19:28 600
原创 HarmonyOS学习日记(day7)
用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。当用户希望有一个全局唯一存储的地方,可以采用用户首选项来进行存储。Preferences会将该数据缓存在内存中,当用户读取的时候,能够快速从内存中获取数据,当需要持久化时可以使用flush接口将内存中的数据写入持久化文件中。
2024-08-21 17:09:59 771
原创 HarmonyOS学习日记(day6)
页面加载是Web组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载HTML格式的富文本数据。页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。
2024-08-21 16:18:28 984
原创 HarmonyOS学习日记(day5)
ArkUI(方舟UI框架)为应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。
2024-08-20 17:57:59 677
原创 HarmonyOS学习日记(day4)
当新建的文档保存之后,回到桌面,或者新打开一个已保存的文档,回到桌面,此时再次打开该已保存的文档,此时AbilityStage中再次启动该UIAbility时,打开的仍然是之前原来已保存的文档界面。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,该UIAbility可以是应用内的其他UIAbility,也可以是其他应用的UIAbility(例如启动三方支付UIAbility)。方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例。
2024-07-22 23:27:34 882
原创 HarmonyOS学习日记(day3)
struct:自定义组件基于struct实现,struct + 自定义组件名 + {...}的组合构成自定义组件,不能有继承关系。对于struct的实例化,可以省略new。@Component:@Component装饰器仅能装饰struct关键字声明的数据结构。struct被@Component装饰后具备组件化的能力,需要实现build方法描述UI,一个struct只能被一个@Component装饰。@Component可以接受一个可选的bool类型参数。
2024-07-17 00:23:42 979
原创 HarmonyOS学习日记(day2)
module.json5文件中的deviceTypes字段中,配置了phone,tablet,2in1等多种设备类型,才能进行多设备预览。泛型Record<K, V>用于将类型(键类型)的属性映射到另一个类型(值类型)。module.json5包含HAP的配置信息、应用在具体设备上的配置信息以及应用的全局配置信息。通过let声明变量,const声明常量,并通过类型注释指定类型。基本类型:string,number,boolean。类型K可以是字符串类型或数值类型,而V可以是任何类型。
2024-07-15 23:51:30 555
原创 HarmonyOS学习日记(day1)
编辑器支持hsp和har模块中变量,方法,类,接口等需要对外暴露的信息通过generate...>declarations功能,批量在index.ets文件中声明。需要再module.json5文件中的deviceTypes配置多种设备再打开多设备预览的开关,便可以多设备预览。使用模拟数据,前提需要在工程或模块的oh-package.json5中添加该依赖,然后重新同步工程。添加@preview注解保存点击预览图标就可以预览,最多支持10个,预览可以设置参数。支持的api:api11,api12。
2024-07-13 23:55:07 332
原创 记录下学习到的知识点(linuxBinder相关)
先Binder server中定义服务,再去ServerManager中注册服务,再Binder客户端向ServerManager中获取服务,再发起远程调用调用Binder server中定义的服务。Binder驱动,Binder服务,Binder客户端,ServerManager。如果要实现跨进程的通信,需要把用户地址空间中的数据拷贝到。在linux中,每个进程都有自己的虚拟内存地址空间。其中用户地址空间不是互通的。
2024-07-03 10:26:10 162
原创 记录下学习到的linux命令行知识
sudo apt remove 软件包名 --purge:卸载软件并删除配置文件。find . -name "*.txt":查找当前目录的txt文件。sudo apt autoremove 软件包名:卸载软件移除依赖。sudo apt upgrade 软件包名:升级软件。sudo apt remove 软件包名:卸载软件。chmod:修改文件的权限,r读,w写,x可执行。./xx:切换到当前文件夹的xx文件夹下。../xx:切换到上一级的xx文件夹下。cd xx/xx.txt:切换地址。
2024-07-01 11:16:50 188
原创 记录一些学习到的知识点(java集合相关)
迭代器也可以遍历,但不能使用集合的方法使用 增加 或者 删除,要使用迭代器中的方法进行删除。它遍历可以使用 增强for 或者 lambda。collection是单列集合的父接口。list是有序,可重复,有索引的。set是无序,不重复,无索引的。其中单列包含list和set。集合分为两大类,单列与双列。迭代器遍历完后指针不会复位。
2024-06-16 20:01:30 128
原创 如何使用安卓无障碍服务之uiautomatorviewer.bat(UI Automator Viewer)层级查看器
uiautomatorviewer.bat(UI Automator Viewer)层级查看器
2023-03-21 13:50:37 365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人