- 浏览: 7436 次
最新评论
文章列表
153.@cross-device-app-dev/font-size
字体大小要求至少为8fp以便于阅读
154.@cross-device-app-dev/grid-columns-span
不推荐开发者将栅格中所有的GridCol子组件只设置span属性,且值与父组件的columns属性相等
155.@cross-device-app-dev/grid-span-value
...
52. @typescript-eslint/no-unnecessary-type-arguments
当类型参数和默认值相同时,不允许显式使用
53. @typescript-eslint/no-unnecessary-type-assertion
禁止不必要的类型断言
54. @typescript-eslint/no-unnecessary-type-constraint
不允许在泛型中使用不必要的约束条件
55. @typescript-eslint/no-unused-expressions
代码中禁止包含未使用的表达式
5 ...
102.@performance/hp-arkts-no-use-any-export-current
避免使用export * 导出当前module中定义的类型和数据
103.@performance/hp-arkts-no-use-any-export-other
避免使用export * 导出其他module中定义的类型和数据
104.@performance/hp-arkui-avoid-empty-callback
避免设置空的系统回调监听
105.@performance/hp-arkui-avoid-update-auto-state-var-in- ...
1. @typescript-eslint/adjacent-overload-signatures
建议函数重载的签名保持连续
2. @typescript-eslint/await-thenable
不允许对不是“Thenable”对象的值使用await关键字,相反对“Thenable”对象必须使用await,例如对Promise对象。
3. @typescript-eslint/array-type
定义数组时,使用统一的样式,如都使用T[]或都使用Array。
"@typescript-eslint/array-type": ...
在开始之前,我们先明确自定义组件和页面的关系:
自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。
页面:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry ...
Navigation作为路由容器,其生命周期承载在NavDestination组件上,以组件事件的形式开放。其生命周期大致可分为三类,自定义组件生命周期、通用组件生命周期和自有生命周期。其中,aboutToAppear和aboutToDisappear是自定义组件的生命 ...
当用户打开、切换和返回到对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调,通过这些回调可以知道当前UIAbility实例的某个状态发生改变,会经过UIAbility实例的创建和销毁,或者UIAbility实例发生了前后台的状态切换。
UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,如下图所示
Create状态
Create状态为在应用加载过程中,UIAbility实例创建完成时触发,系统会调用onCreate()回调。可以在该回调中进行页面初始化操作,例如变 ...
Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理)、applicationInfo(当前应用信息)、dir(应用文件路径)、area(文件分区)等,以及应用的一些基本方法,例如createBundleContext()、getApplicationContext()等。UIAbility组件和各种ExtensionAbility派生类组件都有各自不同的Context类。分别有基类Context、ApplicationContext、AbilityStageContext、UIAbilityContext、ExtensionContex ...
获取应用文件路径
基类Context提供了获取应用文件路径的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均继承该能力。应用文件路径属于应用沙箱路径,上述各类Context获取的应用文件路径有所不同。
通过ApplicationContext获取应用级别的应用文件路径,此路径是应用全局信息推荐的存放路径,这些文件会跟随应用的卸载而删除
属性
路径
bundleCodeDir
<路径前缀>/el1/bundle
cacheDir
< ...
认识一多
随着终端设备形态日益多样化,分布式技术逐渐打破单一硬件边界,一个应用或服务,可以在不同的硬件设备之间随意调用、互助共享,让用户享受无缝的全场景体验。而作为应用开发者,广泛的设备类型也能为应用带来广大的潜在用户群体。但是如果一个应用需要在多个设备上提供同样的内容,则需要适配不同的屏幕尺寸和硬件,开发成本较高。HarmonyOS系统面向多终端提供了“一次开发,多端部署”(后文中简称为“一多”)的能力,让开发者可以基于一种设计,高效构建多端可运行的应用。
“一多”建议从最初的设计阶段开始就拉通多设备综合考虑。考虑实际智能终端设备种类繁多,设计师无法针对每种具体设备各自出一份UX设计 ...
认识一多
随着终端设备形态日益多样化,分布式技术逐渐打破单一硬件边界,一个应用或服务,可以在不同的硬件设备之间随意调用、互助共享,让用户享受无缝的全场景体验。而作为应用开发者,广泛的设备类型也能为应用带来广大的潜在用户群体。但是如果一个应用需要在多个设备上提供同样的内容,则需要适配不同的屏幕尺寸和硬件,开发成本较高。HarmonyOS系统面向多终端提供了“一次开发,多端部署”(后文中简称为“一多”)的能力,让开发者可以基于一种设计,高效构建多端可运行的应用。
“一多”建议从最初的设计阶段开始就拉通多设备综合考虑。考虑实际智能终端设备种类繁多,设计师无法针对每种具体设备各自出一份UX设计图。 ...
鸿蒙Navigation处理启动页跳转到首页问题
在使用Navigation时时,你是否遇到了这样一个问题,Navigation加载启动页为入口,在启动页replace到首页,使首页替换换启动页,结果发现不生效,启动页依然存在。
为什么根页面启动页不 ...
鸿蒙封装日志库并支持跳转显示行号
查看日志时,你是否经常遇到不知道日志是哪个地方打印的,为了便于查找位置,专门将文件名或类名设置为tag,日志还得传个标记,用于生产环境不打印日志,控制台的日志要是能点击定位到所在位置就好了。现在咱们自己来封装一个日志库,实现这些功能。
为什么控制台的日志可以点击跳转
首页我们思考一个问题,什么样的日志可以点击跳转到所在位置呢?为什么这样的日志就可以跳转呢?最常见的场景是当程序崩溃时,我们会查看控制台的报错信息,看一下出错的调用栈,调用栈会显示代码所有文件的行号和位置,示例如下
Reason:TypeError
Error name:TypeEr ...
你是否每次手动更改发布证书打app包上加应用市场呢?你是否每次打完包都手动在名称后添加版本号和时间呢?不同环境的依赖包经常打包时忘记改呢?其实这些鸿蒙都支持动态配置。
认识hvigor编译构建
hvigor将工程解析为一 ...
鸿蒙多环境配置
在实际开发过程中,你是否遇到了如下一些问题。项目分多套环境,如开发环境,生产环境,甚至还有灰度环境,不同的环境请求的服务器地址不一样,不同环境依赖的库也不一样,使用的三库key也不一样。测试会问开发环境的包和生产环境的包可以同时安装在手机上吗,我怎么区分哪个是生产环境的包,开发环境能否加个入口等等。
是否可以使用debug和release来区分不同的环境
大多数情况下,我们可能只需要区分开发环境和生产环境,那么有人会问,只有2套环境,是否可以用debug代表开发环境,release来代表生产环境呢?在代码编译阶段,会生成一个BuildProfile文件,在代码中使用B ...