admin 管理员组文章数量: 887021
开发
本示例基于 OpenHarmony 下的 JavaScript UI 框架,进行项目目录解读,JS FA、常用和自定义组件、用户交互、JS 动画的实现,通过本示例可以基本了解和学习到 JavaScript UI 的开发模式。
本项目是基于 OpenHarmony 项目而不是 HarmonyOS 项目,请注意运行环境。
请参考 OpenHarmony 项目配置方法 进行项目配置和运行。
如果你不熟悉 OpenHarmony 的 JS 开发,请参考该项目的 开发讲解。
示例
- 下载 awesome-harmony 项目工程,将工程导入 DevEco Studio 进行编译构建及运行调试。
- 进行编译构建,生成一个 HAP 应用安装包,生成 HAP 应用安装包。
- 安装运行后,即可在设备上查看应用示例运行效果,以及进行相关调试。
资料
网上资料有点散乱,先集中整理起来,后面慢慢学习消化。
收录来自 ISRC_OHOS/UltimateHarmonyReference
本项目的灵感来源于UltimateAndroidReference。旨在提供一个精选的鸿蒙和 OpenHarmony 库、工具、开源项目、书籍、博客、教程的集合。减少大家漫无目的的搜索时间,帮助大家在学习鸿蒙的过程中少踩坑、少走弯路。
目录
- 库
- 动画
- 图表绘制
- 错误报告和跟踪
- 图像加载
- 图像处理
- 日志
- 网络
- 存储
- 测试
- UI 组件
- 实用工具
- 安全
- 文件数据
- 多媒体
- 其他
- 开源 HAP
- 插件
- 免费
- 免费 (+ 专业版付费)
- 鸿蒙 kotlin 相关
- DevEco 快捷键
- 网站
- 书籍
- 优秀文章
- 视频教程
- 第三方组织
库
一些比较优秀的鸿蒙开源库,免去反复造轮子的麻烦,方便鸿蒙软件开发。
动画
- ProgressWheel_ohos - 基于开源项目 ProgressWheel 的鸿蒙化移植开发,可以实现自定义环形进度条的功能,支持环形进度条的旋转、进度增加、文本设置。此组件配套有详细的介绍和讲解(51CTO、知乎、CSDN)
- ContinuousScrollableImageView_ohos - 基于开源项目 ContinuousScrollableImageView 的鸿蒙化移植开发,可以显示具有连续滚动效果的图像,支持设置图像源、缩放类型、持续时间和方向
- AZExplosion_ohos - 基于开源项目 AZExplosion_ohos 的鸿蒙化移植开发,模仿 ExplosionField 的粒子爆炸效果
- AVLoadingIndicatorView_ohos - 基于开源项目 AVLoadingIndicatorView 进行鸿蒙化的移植和开发,支持加载动画的开关和隐藏,支持多种加载动画效果。此组件配套有详细的介绍和讲解(51CTO、知乎、CSDN)
- LoadingView - 一个可以显示加载动画的三方组件,目前支持 4 种风格显示。
- confetti - 一个高性能,易于配置的粒子系统库,可以通过空间对任何对象集进行动画处理。您可以指定
起始条件和物理条件(例如 X 和 Y 加速度,边界等),然后由纸屑库负责其余的工作。 - fresco - Fresco 是一个功能强大的系统,用于在 OpenHarmony 应用程序中显示图像。
- ContinuousScrollableImageView - 简单的 openharmonyOS 视图可有效显示具有连续滚动效果的图像。 您可以设置图像源,scaleType,持续时间和方向。 用法示例可在示例项目中找到。
- DraggableView - 具有旋转和倾斜/缩放效果的可拖动图像。
- ohos-animated-menu-items - xml 矢量图的加载,通过 openharmony 的方式使用自定义 Component 加 AnimatorValue 方式替代原有的 xml 动画效果,效果而言是与原库完全一致的。同时增加原有自带的点击效果,并且可以通过 xml 传参或 api 调取方式设置开关与颜色。
- ohos-Spinkit - 一个加载动画库。
- RippleEffect - 一种水波纹效果。
- HorizontalPicker - 一个横向滑动选择器。
- ohos-ExpandIcon - 一个动态的指示箭头。
- Leonids - Leonids 是可与标准 openharmony UI 一起使用的粒子系统库。
- ohosViewAnimations - 文字放大视觉效果。
- Transitions-Everywhere - 用于在组件之间应用过渡。 它支持许多转换。 过渡定义了开始场景到结束场景之间的运动。 过渡示例包括淡入淡出,旋转,缩放等 。
- lottie-ohos - 一个移动库,用于解析作为 json 导出的 Adobe After Effects 动画,并在移动设备上本地呈现它们。
图表绘制
- MPChart_ohos - 基于开源项目 MPAndroidChart 进行鸿蒙化的移植和开发,支持多种数据图的绘制
- HistogramComponent - 可以更快速实现一个简单的柱状图功能,对外提供数据源,修改柱状图颜色和间距的接口。
错误报告与跟踪
- WatchDog_ohos - 基于开源项目 WatchDog 进行鸿蒙化的移植和开发,可检测到鸿蒙系统的 ANR 错误并引发有意义的异常
图像加载
- uCrop_ohos - 基于开源项目 uCrop 进行鸿蒙化的移植和开发,作为裁剪组件,使用鸿蒙的 DataAbility 实现了对鸿蒙系统相册的读写。
- GifImage - 一个可以显示加载动态图片(gif 格式)的三方组件。
图像处理
- Crop_ohos - 基于开源项目 Android-crop 进行鸿蒙化的移植和开发,该组件提供了一个自定义的裁剪框——可以在被裁减的图片范围内移动或缩放。
- uCrop_ohos - 基于开源项目 uCrop 进行鸿蒙化的移植和开发,作为比较火的裁剪组件,功能强大。
- ImageCropper_ohos - 基于开源项目 AndroidImageCropper 进行鸿蒙化的移植和开发,裁剪组件。此组件配套有详细的介绍和讲解(51CTO、知乎、CSDN)
- compress - 一个轻量级图像压缩库,允许将大照片压缩成小尺寸的照片,图像质量损失非常小。
- RoundedImage - 可以将图片显示成圆形,椭圆形,圆角矩形,目前仅支持上述三种样式显示。
- Gilde_HarmonyOS - 一款非常优秀的图片处理工具,支持多种格式图片加载,采用磁盘缓存、内存缓存方式实现预加载,指定缓存大小实现节省内存避免 OOM,操作方便简单易用。
- 自定义圆形图片 - 将图片设置为圆形显示的组件。
- glide - Glide 是一个针对 openharmony 的快速高效的图像加载库,专注于平滑滚动。Glide 提供了易于使用的 API,高性能和可扩展的资源解码管道以及自动资源池。Glide hmos testapplication +移植的代码项目 Glide 支持获取,解码和显示视频静止图像,图像和动画 GIF。Glide 包含一个灵活的 api,使开发人员可以插入几乎所有网络堆栈。默认情况下,Glide 使用基于自定义 HttpUrlConnection 的堆栈,但还包括实用程序库,这些实用程序库可插入 Google 的 Volley 项目或 Square 的 OkHttp 库。Glide 的主要重点是使任何种类的图像列表尽可能平滑和快速地滚动,但是 Glide 在几乎所有需要获取,调整大小和显示远程图像的情况下也很有效。
日志
- Timber_ohos - 基于开源项目 Timber 进行鸿蒙化的移植和开发,增强鸿蒙输出日志的能力。
- Hugo - 可以为 Annotation-triggered 方法注入调用 log,以供调试。
- Logger - log 日志打印组件,输出的日志在开发工具的 Hilog 控制台中, 结构比较清晰可分辨。
网络
- VideoCache_ohos - 基于开源项目 AndroidVideoCache 进行鸿蒙化的移植和开发,支持自动缓存视频并在断网状态下播放视频。此组件配套有详细的介绍和讲解(51CTO、知乎)
- AsyncHttpHarmony - 更加高效实现网络请求及数据处理。
- fresco - Fresco 是一个功能强大的系统,用于在 OpenHarmony 应用程序中显示图像。
- network-connection-class - 测量移动端网络质量的组件。
- okhttp-OkGo - 一个基于 okhttp 的标准 RESTful 风格的网络框架。
- ThinDownloadManager - 主要用于下载文件的网络库 。
- Fast-ohos-Networking - 一个功能强大的网络库,用于在 OkHttp Networking Layer 之上进行 Android 应用中的任何类型的网络连接。它负责处理连接过程中的所有操作,所以你只需要发送请求并接收响应。
- okdownload - 可靠,灵活,快速而强大的下载引擎。
- ohos-async-http - 一个网络请求框架。
- ohosAsync - 一个低级网络协议库。
- ion - 加载并多种方式裁剪显示图片文件、加载 json 字符串、加载显示本地 media 和 rawfile 资源图片文件、不支持为图片加载前、加载中和加载失败添加占位图、不支持图片加载动画效果。
- ReactiveNetwork - 用于侦听 RxJava Observables 的网络连接状态和 Internet 连接。 它是用反应式编程方法编写的。
- okhttputils - 一个改善的 okHttp 封装库。
存储
- ActiveOhos_sqlite - 简化了 sqlite 数据库的连接,并且对 HarmonyOS 原生的 API 进行封装加强,使 sqlite 数据库的读写更加方便。
测试
- AssertJ - AssertJ 是一个库,提供了易于使用的富类型断言
- Cucumber - 自动编写自己的 IdlingResource(作者声明)。同时可以自动关闭系统动画。
- Hamcrest - Java(和原始)版本的 Hamcrest
- JUnit4 - 面向程序员的 Java 测试框架
- Mockito - 最流行的 mock 框架,用于单元测试。
- Truth - Java 单元测试的断言/命题框架
UI 组件
- DanmakuFlameMaster_ohos - 基于开源项目 DanmakuFlameMaster 进行鸿蒙化的移植和开发,B 站的弹幕库,支持显示、隐藏、显示、暂停、继续、发送、定时发送弹幕。此组件配套有详细的介绍和讲解(51CTO、知乎、CSDN)
- SlidingMenu_ohos - 基于开源项目 SlidingMenu 进行鸿蒙化的移植和开发,支持滑动菜单展示/隐藏
- SnackBar_ohos - 基于开源项目 SnackBar 进行鸿蒙化的移植和开发,支持显示弹出式提醒,包括文字和点击效果
- Banner_ohos - 基于开源项目 Banner 进行鸿蒙化的移植和开发,鸿蒙广告图片轮播控件。此组件配套有详细的介绍和讲解(51CTO、知乎、CSDN)
- Alerter -一个定制通知视图
- Material Dialogs - 一个漂亮、流畅、可定制的对话框 API
- PrecentPositionLayout - 一种以百分比方式定义的 PrecentPositionLayout 布局容器,通过它可以很方便的实现屏幕自适应。
- xrecyclerview - 一个实现了下拉刷新,滚动到底部加载更多以及添加 header 功能的的 RecyclerView。使用方式和 RecyclerView 完全一致,不需要额外的 layout,不需要写特殊的 adater。
- ohos-gif-drawable - 一个对于动画 GIF 的“视图”和“可绘制”,实现了 Animatable 和 MediaPlayerControl 这两个接口。
- TakePhoto - 一个开源工具库,用于获取照片(拍摄照片)并在 Harmony 设备上压缩图像。
- PhotoView - 一款扩展自 Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件,功能实用和强大。
- ReactiveNetwork - 是一个 OHOS 库,用于监听网络连接状态以及与 RxJava Observables 的 Internet 连接。
- PullToZoomInListView - 一个自定义的列表视图,滑动 ListView 时使其 HeaderView 跟随滑动缩放的组件。
- drawee_text_view - 一个简单的 ohos 组件,用于使用 Fresco 在 Text 组件周围显示图像。
- yoga_layout - 一种实现 Flexbox 的跨平台布局引擎。
- PatternLockView - 一个自定义屏幕图案解锁控件,该库使您可以轻松,快速地在应用程序中实现模式锁定机制。它非常易于使用,并且提供了许多自定义选项,可以更改此视图的功能和外观以满足您的需求。
- MZBannerView - 基于仿魅族 BannerView 的图片轮播控件,支持多种模式切换:普通 ViewPager 使用,普通 Banner 使用,仿魅族 Banner 使用。
- SlantedTextView - 一个倾斜的 TextView,适用于标签效果。
- GoodView - 鸿蒙点赞+1 效果,支持文本和图像
- SlideAndDragListView - 一个自定义 ListContaner 控件,可以左右滑动菜单,上下拖拽改变 item 位置。
- LayoutManagerGroup - 一组自定义视图,负责测量和放置 RecyclerView 中的项目视图,并确定何时回收用户不再可见的项目视图的策略。 该库允许以对齐方式排列梯形图和特殊滑道等视图。
- polygonsview - 模仿掌上英雄联盟能力分析效果。
- SimpleCropView - 适用于鸿蒙的图像裁剪库,它简化了裁剪图像的代码,并提供了易于自定义的 UI。
- LoadSir - 一个高效易用,低碳环保,扩展性良好的加载反馈页管理框架,在加载网络或其他数据时候,根据需求切换状态页面,
可添加自定义状态页面,如加载中,加载失败,无数据,网络超时,如占位图,登录失效等常用页面。可配合网络加载框架,结合返回状态码,错误码,数据进行状态页自动切换,封装使用效果更佳。 - CookieBar - CookieBar 是一个轻量级的库,用于在屏幕顶部或底部显示简短的消息。
- CircleRefreshLayout - 这是一个自定义下拉刷新控件,包含有趣的动画。
- Alerter - 支持原有的核心功能,动画没有原组件的体验好。
- PatternLockView - 一个自定义屏幕图案解锁控件,该库使您可以轻松,快速地在应用程序中实现模式锁定机制。它非常易于使用,并且提供了许多自定义选项,可以更改此视图的功能和外观以满足您的需求。它还支持 RxJava 2 视图绑定,因此,如果您喜欢响应式编程(就像我一样),则可以在用户绘制模式时获得更新流。
- ValueCounter - 实现组件计数器功能。
- ImageCoverFlow - 轮播图片覆盖预览。
- FloatingActionButton - 具有许多功能的 HMOS 浮动动作按钮的另一种实现。
- StateViews - 创建并显示进度,数据或错误视图的简便方法。
- FancyToast-ohos - 一个库,它将标准的 android 吐司带到一个新的层次,有各种样式选择。根据代码来做吐司。
- WaveSideBar - 带有波浪效果的索引侧栏。
- WaveView - openHarmony 的波形图,可用作进度条。
- ohos-Bootstrap - ohos-Bootstrap 是一个 openharmony 库,它提供了根据 Twitter Bootstrap 规范。 这可以让您花费更多时间 而不是试图在整个应用程序中获得一致的主题,尤其是在您已经熟悉 Bootstrap 框架的情况下。
- NavigationTabBar - 导航选项卡栏,用于与色彩缤纷的互动实现开放和谐。
- MaterialProgressBar - MaterialProgressBar 在 UI 上具有一致的外观。
- flexbox-layout - FlexboxLayout 是一个库项目,将 CSS Flexible Box Layout Module 的类似功能引入了 openharmony。
- floatingsearchview - 实现浮动搜索栏(也称为持久搜索)的搜索视图。
- michaelbel_BottomSheet - BottomSheet 带有材质设计概念的 ohos 对话库。
- search-dialog - 带有内置搜索选项的令人敬畏且可自定义的搜索对话框。
- Lichenwei-Dev_ImagePicker - ImagePicker 支持图片,视频单选,多选,多文件夹切换,大图片预览和自定义图片加载器等功能。
- Swipecards - 自定义卡片,左右飞滑删除卡片,上下滑卡片回弹复位。
- StatefulLayout - 显示最常见的状态模板,如加载,清空,错误等。要做的就是用 StatefulLayout 包装目标区域(视图) 。
- material-intro-screen - Material intro screen 的设计灵感来自于 Material Intro , 为了使简介屏幕易于所有人使用并尽可能方便的扩展,我倾注心血几乎完全重写所有功能。
- NumberProgressBar - NumberProgressBar 是各种类型的 progressBar 的组合。
- BezierMaker - 通过 de Casteljau 算法绘制贝塞尔曲线,并计算它的切线,实现 1-7 阶贝塞尔曲线的形成动画。
- ShowcaseView - ShowcaseView 库旨在通过独特且吸引人的叠加层向用户突出显示和展示应用的特定部分。这个库非常适合指出用户的兴趣点,突出模糊但是有用的内容。
- SlideSwitch - 一个开关,可以滑动它来打开或关闭。
- TextDrawable - 一个轻量级的库提供带有字母/文本的图像,例如 Gmail 应用程序。 它扩展了 ShapeElement 类,因此可以与现有/自定义/网络图像类一起使用。 还包括用于创建 shapeElement 的流畅接口和可自定义的 ColorGenerator。
- SlidingLayout - SlidingLayout 是一种 Component 控件,可以帮助你实现类似微信网页浏览的下拉功能。
- ArcProgressStackView - 在弧形模式下显示进度条,并提供信息和全面控制。
- BGAQRCode-ohos - 定制各式各样的扫描框。
- BottomBar - 底部导航栏功能。
- CircleProgress - 圆环形进度条。
- TimetableView - 是一款开源的、完善、高效的课程表控件。
- CalendarListview - CalendarListview 提供了一种日历选择日期的简便方法。
- glide-transformations - 一个开放谐波转换库,可为 Glide 提供各种图像转换。
- BGARefreshLayout-ohos - 实现下拉刷新效果,并增加上载。
- CustomWaterView - 自定义仿支付宝蚂蚁森林水滴控件,实现水滴飘浮状态,点击水滴边降落边消失,重置水滴。
- CountdownView - 一个具有倒计时功能的 View,满足大多数倒计时控件需求。
- labelview - 支持改变标签大小、方向、支持列表显示、支持在 ImageView,button,Text 上使用。
- swipe - 实现页面滑动的监听,其中包含普通实现和 rxjava 实现.
- UltraViewPager - UltraViewPager 是 PageSlider 的扩展,封装了多个功能,为多页面切换提供解决方案。
- Gloading - 深度解耦 Hos Hap 中全局加载中、加载失败及空数据视图,为组件化改造过程中的解耦长征助力,分离全局加载状态视图的实现和使用。
- BadgeView - 一个消息提醒小红点,可以修改红点样式。
- Sequent - Sequent 是一个库,可以定期为多个视图连续启动动画。
- Luban - 一个用于 OHOS 的图像压缩工具,其效率非常类似于 WeChat Moments 的效率。该模块有助于压缩 png,jpg
版权声明:本文标题:最全面鸿蒙系统开发的相关资料收录 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1715893466h656392.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论