ultimate-harmony-reference/README.md

71 KiB
Raw Blame History

UltimateHarmonyReference

背景

本项目的灵感来源于UltimateAndroidReference。旨在提供一个精选的鸿蒙和OpenHarmony库、工具、开源项目、书籍、博客、教程的集合。减少大家漫无目的的搜索时间帮助大家在学习鸿蒙的过程中少踩坑、少走弯路。

希望能够有更多的人加入到鸿蒙和OpenHarmony相关的开发活动中共建和谐开放繁荣的OpenHarmony生态。👍

我们本身也开源了大量的组件库项目,并且有配套的图文讲解专栏,欢迎大家去隔壁逛逛。

开源贡献规则

这个项目是开源的,欢迎大家推荐自己认为有用的、有意义的工程。

如果想要贡献资源只需在issue中遵循以下格式[名称](链接)-描述,并说明推荐原因。

如果您有任何建议可以随时在本项目的issue里提出。

如果有交流合作的需求也欢迎直接和我们联系isrc_hm@iscas.ac.cn

目录

一些比较优秀的鸿蒙开源库,免去反复造轮子的麻烦,方便鸿蒙软件开发。

动画

  • 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的效率。该模块有助于压缩pngjpg位图和gif类型的图像。
  • LikeSinaSportProgress - 两者点赞数量对比进度条。
  • ViewPagerIndicator - 与以下版本的PageSlider兼容的分页指示器小部件 openharmony以提高内容的可发现性。
  • FlycoPageIndicator - 页面指示器库。
  • SCViewPager - 用于openHarmonyOS的Jazz一个简单的ViewPager扩展提供了基于滚动的动画。
  • Highlight -一个用于app指向性功能高亮的库。
  • LoadingView - 简单的带有动画效果的加载控件。
  • CircleImageView - 快速的圆形ImageView非常适合个人资料图像它使用PixelMapShader创建自定义图像视图。
  • desertplaceholder - 沙漠风格的动画占位符 。
  • SwipeCardView - 自定义卡片,左右飞滑删除卡片,上下滑卡片回弹复位。
  • TextBannerView - 现在的绝大数APP特别是类似淘宝京东等这些大型APP都有文字轮播界面实现循环轮播多个广告词等功能这种控件俗称“跑马灯”而TextBannerView已经实现了可垂直跑、可水平跑的跑马灯了。
  • MaterialBadgeTextView - 一个为Badge提供了改进的textview的库。Badge是带有插入数字的彩色圆圈该圆圈显示在图标的右上角通常在IM应用程序中显示新消息或新功能的作用。
  • AnimatedCircleLoadingView - 确定/不确定的加载视图动画。
  • WhorlView - 一个加载View。
  • CircularFillableLoaders - 个性化圆形进度显示。
  • SpinMenu - 轮盘样式的 Component 菜单选择控件。
  • BubbleLayout - 气泡组件,具有自定义的笔触宽度和颜色,箭头大小,位置和方向。
  • AnimationEasingFunctions - 动画缓动功能。让动画更逼真!
  • BottomNavigationViewEx - 底部导航栏切换页面的实现。
  • DraggableView - 具有旋转和倾斜/缩放效果的可拖动图像。
  • ohos-slidr - 另一个滑块/ seekbar但有所不同。
  • MyLittleCanvas - 创建自定义组件。
  • CProgressButton - 像iOS的圆圈进度按钮。
  • RippleEffect - 按钮点击波纹效果。
  • HorizontalPicker - 一个横向滑动选择器。
  • TriangleLabelView - 一个三角标签View。
  • BottomNavigation - 一个底部导航栏控制器。
  • cardslib - 一种在您的homs应用中使用Official Google CardView显示UI卡的简便方法。
  • discreteSeekBar - 动画气泡指示当前滑动值。
  • materialish-progress - 一个material 风格的滚动式进度条(progress wheel)。
  • circular-progress-button - 实现环形进度按钮。
  • HeaderAndFooterRecyclerView - 一个ListContainer解决方案它支持addHeaderViewaddFooterView到ListContainer。
  • ProgressView - 一个进度视图,目前实现了带数字进度的水平进度条以及圆形进度条,圆形进度条包括三种风格:普通环形进度,内部垂直填充进度以及内部环形填充进度。
  • MaterialEditText - Material Design中对文本输入框的样式提供了标准,并且在AppCompat v21 中提供了Material Design的空间外观支持。
  • SlideUp-ohos - 一个小型库可让您向任何视图添加甜美的幻灯片效果。使用SlideUp向上向下向左或向右滑动视图
  • EazeGraph - 一个用于创建精美图表库。它的主要目标是创建一个轻量级的库,该库易于使用并且高度可定制,具有“最新”外观。
  • ahbottomnavigation - 底部导航库。
  • ButtonProgressBar - ButtonProgressBar一个下载按钮进度条。
  • DatePicker - 一个日期选择器。
  • PercentageChartView - 一个百分比图表,显示任何给定任务或信息的进度。
  • CountAnimationTextView - 一个很小的库使对Text的动画计数变得非常容易。
  • MultiWaveHeader - 一个可以高度定制每个波形的水波控件。
  • CircleView - 包含标题和副标题的圆形视图。
  • ParallaxViewPager) - 视差背景效果。
  • MultiCardMenu - 叠加菜单加载。
  • circular-music-progressbar - 此“环形进度条”是为需要精美音乐进度条的音乐播放器设计和制作的。
  • FlycoTabLayout - 多样化导航栏。
  • WheelView - 一个自定义的滚轮类控件,样式简洁。
  • ohos-HoloCircularProgressBar - 实现环形进度条,可以改变进度条颜色等属性。
  • sweet-alert-dialog - 清新文艺,快意灵动的甜心弹框。
  • WheelPicker - 简单而梦幻般的滚轮视图。
  • AvatarImageView - 一种在openharmony平台上创建AvatarImageView的简单方法该平台可以显示圆形文本或圆形图像以及SquareAvatarImageView可以用于显示圆形图像。
  • michaelbel_BottomSheet - BottomSheet带有材质设计概念的ohos对话库。
  • CircularProgressView - 是一个圆形进度条openharmony视图旨在模仿ProgressBar的Material版本。
  • EasySwipeMenuLayout - 滑动菜单库不仅适用于ListContainer还适用于所有视图。
  • ExpandableLayout - 一个用于openharmony的可扩展布局容器。
  • ohos-flowlayout - 如果当前行中没有空格,则将其内容包装到下一行。
  • ohos-viewbadger - 一个简单的文本标签视图,可以作为“徽章”应用到在运行时动态创建的任何给定组件,而不必在布局中迎合它。
  • pinned-section-listview - pinnedsectionlist是易于使用的ListContainer具有用于openharmony的固定部分。 pinnedsection是一个标题视图该视图粘贴到列表的顶部直到该部分的至少一项可见为止 。
  • SlideshowToolbar - 一个使用slideshowimageview的幻灯片工具栏 。
  • MaterialDesignLibrary - 小部件的动画特效demo库。
  • ProgressPieView - 用于显示高度可定制的饼图中的进度。
  • Ratingbar - 使用RatingBar来实现节目评分例如反馈或其他所需的评分。
  • StickyListHeaders - 为ListContainer提供高性能的替代品。
  • MetaballLoading - 二维元球加载 。
  • DiscreteSlider - 提供带有“材质设计”规范中所示的值标签的滑块以及一个API。该库还为您提供范围滑块模式.
  • SwipeBack - 可以使用手势完成活动。 您可以设置滑动方向,例如左,上,右和下。
  • material-dialogs - 它具有几乎所有带有多个测试用例的UI组件其中包括带有文本图像按钮ListContainer项目调色板自定义视图和进度栏的对话框。
  • GestureLock - 手势解锁密码。
  • ohos-SwitchView - 轻巧的开关视图风格,可实现和谐统一 。
  • bottomsheet - 一个openharmony组件从屏幕底部显示一个可忽略的视图。 BottomSheet可以替代对话框和菜单但可以保留任何视图因此用例无穷无尽。 该存储库不仅包括BottomSheet组件本身还包括一组在底部表单中显示的通用视图组件。 这些位于commons模块中。
  • slideview - 一个简单却很棒的滑动按钮,可实现和谐。
  • MultiType - MultiType提供了便捷的方法来轻松开发复杂的ListContainer。 使用此库我们可以插入其他类型的元素而无需更改任何旧的itemprovider代码并使它们更具可读性。
  • SectorProgressView - 一个圆形进度显示控件。
  • XEditText - 带删除功能的EditText显示或者隐藏密码可设置自动添加分隔符分割电话号码、银行卡号等支持禁止Emoji表情符号输入。
  • ProtractorView - 半圆形搜寻栏视图用于从0°到180度之间选择一个角度。
  • williamchart - Williamchart是一个开放和谐图书馆可以在和谐应用程序中快速实现引人入胜的图表。
  • SwitchButton - 一个美观,轻巧,易于定制的开关小部件 。
  • progressbutton - progressbutton是占位面积很小的自定义进度指示器。默认实现提供了一个pin进度按钮。
  • PageIndicatorView - 是一个轻型库用于指示PageSlider的选定页面具有不同的动画并能够根据需要自定义它。
  • WhorlView - 一个加载的视图。
  • RulerView - 一系列卷尺控件,包含:基本卷尺控件(体重尺,或其它)、金额卷尺控件、时间卷尺控件。
  • PRDownloader - 下载器可用于下载任何类型的文件如图像、视频、pdf、har等。
  • ReadMoreTextView - 带有修剪文本的自定义Text。
  • Fast-ohos-Networking - 一个功能强大的网络库,用于在 OkHttp Networking Layer 之上进行应用中的任何类型的网络连接。它负责处理连接过程中的所有操作,所以你只需要发送请求并接收响应。
  • LovelyDialog - 一组简单的对话框包装类库,旨在帮助您轻松创建精美对话框。
  • SwipeActionAdapter - 用于ohos的类似邮箱的滑动手势库。
  • RxBus - 一个事件总线旨在使您的应用程序进行有效的通信。RxBus支持批注@ produce / @ subscribe它可以为您提供在其他线程例如MAIN_THREADNEW_THREADIOCOMPUTATIONTRAMPOLINEEXECUTOR 单和处理程序。 RxBus还提供事件标签来定义事件。 方法的第一个(也是唯一的)参数和标记定义事件类型。
  • BGAQRCode-ohos - 一个可以定制各式各样的扫描框。

实用工具

  • Joda-time_ohos - 基于开源项目SnackBar进行鸿蒙化的移植和开发鸿蒙日期和时间处理库。
  • Parceler_ohos - 基于开源项目Parceler进行鸿蒙化的移植和开发支持各种数据类型的快速序列化与反序列化简单易用
  • SwipeCaptcha_ohos - 基于开源项目SwipeCaptcha进行鸿蒙化的移植和开发滑动验证码组件。此组件配套有详细的介绍和讲解51CTO知乎CSDN
  • ViewServer_ohos - 基于开源项目ViewServer进行鸿蒙化的移植和开发用于支持未来可能会推出的鸿蒙Hierarchy Viewer
  • Zbar_ohos - 基于开源项目Zbar进行鸿蒙化的移植和开发条形码阅读。
  • Gson - Java序列化/反序列化库用于将Java对象转换为JSON并返回。
  • Guava - Google Java核心库。
  • PermissionsDispatcher - 简单的基于注释的API处理运行时权限 。
  • ProtoBuf - 协议缓冲区——Google的数据交换格式 。
  • UpDownfile - 基于Okhttp为基础进行二次封装是一款非常好用的文件上传下载框架。
  • RxJava - RxJava JVM的反应性扩展一个库用于使用Java VM的可观察序列组成异步和基于事件的程序。
  • RxBus - 一个事件总线旨在使您的应用程序进行有效的通信。RxBus支持批注@ produce / @ subscribe它可以为您提供在其他线程例如MAIN_THREADNEW_THREADIOCOMPUTATIONTRAMPOLINEEXECUTOR 单和处理程序。 RxBus还提供事件标签来定义事件。 方法的第一个(也是唯一的)参数和标记定义事件类型。
  • BGAQRCode-ohos - 可定制各式各样的扫描框,可定制全屏扫描,可定制要识别的码的格式,可以控制闪光灯,方便夜间使用,zxing二维码扫描功能,ZBar 扫描条码、二维码「已解决中文乱码问题」。
  • BGAQRCode-ohos - 可定制各式各样的扫描框, 可定制全屏扫描,可定制要识别的码的格式,可以控制闪光灯,方便夜间使用,可以二指缩放预览,ZXing 生成可自定义颜色、带 logo 的二维码,ZXing 扫描条码、二维码,ZBar 扫描条码、二维码「已解决中文乱码问题」
  • RushOrm - RushOrm通过将Java类映射到SQL表来替代对SQL的需求。
  • xUtils3 - xUtils 包含了orm, http(s), image, view注解, 特性强大, 方便扩展。
  • ohos-Universal-Image-Loader - 现在图像加载库的伟大祖先 UIL旨在为图像加载、缓存和显示提供一个强大、灵活和高度可定制的工具。它提供了大量的配置选项和良好的控制图像加载和缓存过程。
  • CameraView - 这是一个模仿微信拍照的ohos开源控件点击拍照10s的视频大概1.9M左右长按录视频(视频长度可设置)录制完视频可以浏览并且重复播放前后摄像头的切换可以设置小视频保存路径。
  • ohos-ZBLibrary - Ohos_ZBLibrary 架构提供一套开发标准View, Data, Event以及模板和工具类并规范代码。封装层级少简单高效兼容性好。OKHttp 网络请求、Glide 图片加载、ZXing 二维码、自动缓存以及各种 Base、Demo、UI、Util 直接用。
  • RxBinding -用于OpenHarmonyOS的UI小部件的RxJava绑定API。
  • Anadea_RxBus - 基于RxJava并针对OpenHarmony进行了优化的事件总线。
  • rx-preferences - SharedPreference对OpenHarmony有反应。
  • XXPermissions - XxPermissions权限请求框架 一键式权限请求框架。
  • ohosAutoLayout - 屏幕适配方案,直接填写设计图上的像素尺寸即可完成适配。
  • ReLinker - 用于openharmony OS的强大的本机库加载器,ReLinker通过将标准System.loadLibrary调用替换为更可靠的实现来解决这些问题,在cpp文件的帮助下实现JNI级别的代码。
  • vlayout - Project vlayout是ListContainer的功能强大的LayoutManager扩展它为ListContainer提供了一组布局。当网格列表和其他布局位于同一listContainer中时使其能够处理复杂的情况。通过为ListContainer提供自定义的LayoutManagerVirtualLayout可以在单个视图上优雅地布局具有不同样式的子视图。定制的LayoutManager管理一系列的layoutHelpers其中每个控件都为特定的位置范围项实现特定的布局逻辑。顺便说一下还支持实现我们的自定义layoutHelper并将其提供给框架。
  • PersistentCookieJar - 基于SharedPreferences的OkHttp3的持久性CookieJar实现。该库通常用于存储从http网址获取的cookie。再次如果我们点击url并获取cookie那么在保存之前将检查cookie是否过期。如果它过期了它将清除以前的并保存新的。
  • LoganSquare - 适用于ohos的最快的JSON解析和序列化库。LoganSquare基于Jackson的流API能够始终胜过GSON和Jackson的Databind库400或更多1。通过依靠编译时注释处理来生成代码您知道JSON的解析和序列化速度比任何其他可用方法都快。通过使用此库您将能够利用Jackson的流API的功能而不必编写tedius涉及JsonParsers或JsonGenerators的底层代码的代码。相反只需将模型对象标记为a @JsonObject将字段注释为@JsonFields我们将为您完成繁重的工作。
  • ohos-ZBLibrary - Ohos_ZBLibrary 架构提供一套开发标准View, Data, Event以及模板和工具类并规范代码。封装层级少简单高效兼容性好。OKHttp 网络请求、Glide 图片加载、ZXing 二维码、自动缓存以及各种 Base、Demo、UI、Util 直接用。
  • AutoDispose - AutoDispose是一个RxJava工具库用于通过处置/取消将RxJava流的执行自动绑定到提供的作用域。它有助于自动处理基于事件的Observable以避免内存泄漏。
  • RxLifeCycle - 该库使我们能够根据第二个生命周期流自动完成序列。此功能在openharmony中很有用因为不完整的订阅可能会导致内存泄漏。
  • DividerDrawable - 该库可以帮助您轻松地在现有视图上布局和绘制分隔线。为了获得更好的性能请不要再为绘图分隔线创建新视图而应使用drawable。
  • fresco - Fresco是一个功能强大的系统用于在OpenHarmony应用程序中显示图像。壁画负责图像的加载和显示因此您不必这样做。它将从网络本地存储或本地资源加载图像并显示一个占位符直到图像到达为止。它具有两个级别的缓存一个在内存中另一个在内部存储器中。
  • ohosMP3Recorder - 以捕捉到来自你的计算机音频MP3麦克风的声音互联网流媒体Winamp的播放Windows媒体播放器音乐音频文件可以录制你喜欢的章节。
  • webp-ohos - webp是Chrome的webp解码器的改编版并添加了JNI包装器可轻松在Java代码中使用它。
  • Rxohos - RxohosRxJava3的openharmony特定绑定的反应性扩展。该模块向RxJava添加了最小的类这些类使在openharmony应用程序中编写反应式组件变得容易且轻松。更具体地说它提供了一个可在主线程或任何给定EventRunner上进行调度的Scheduler。
  • butterknife - openharmony组件的字段和方法绑定它使用注释处理为您生成样板代码。
  • logger - 记录器:简单,漂亮,功能强大的记录器
  • stefanjauker_BadgeView - BadgeView openharmony项目模仿iOS Springboard'徽章'的扩展TextView。它可以覆盖在任何其他项目上。
  • TinyPinyin - 快速、低内存占用的汉字转拼音库。
  • Compressor - Compressor是一个轻量级且功能强大的和谐图像压缩库。通过Compressor您可以将大照片压缩为较小尺寸的照片而图像质量的损失则很小或可以忽略不计。不支持WebP。
  • CompressHelper - 图片压缩压缩PixelmapCompressImage 主要通过尺寸压缩和质量压缩,以达到清晰度最优。
  • xLog - 简单、美观、强大、可扩展的 openHormony 和 Java 日志库,可同时在多个通道打印日志,如 hilog、Console 和文件。如果你愿意,甚至可以打印到远程服务器(或其他任何地方)。
  • DragScaleCircleView - 一个可拖动与缩放的自定义圆形View它其实是一个ImageView自带了拖放圆形区域的功能可以用于从一张图片截取一个圆形的视图。
  • MultiType - MultiType为ListContainer创建多个类型更容易更灵活。以前当我们需要开发复杂的ListContainer时这是困难且麻烦的工作。一旦需要添加新的项目类型就必须转到原始适配器文件并仔细修改一些旧代码这些适配器类将变得更加复杂。MultiType提供了便捷的方法来轻松开发复杂的ListContainer。使用此库我们可以插入其他类型的元素而无需更改任何旧的itemprovider代码并使它们更具可读性。
  • FlycoRoundView - 库可帮助openharmony内置视图轻松方便地设置圆形矩形背景并因此可以减少相关的形状资源。
  • BadgeView - BadgeView是个消息提醒小红点可以修改红点样式。
  • CustomActivityOnCrash - CustomActivityOnCrashCustomActivityOnCrash是OHOS库允许应用崩溃时启动自定义活动而不是显示讨厌的“不幸的是X已停止”对话框。
  • ticker - ticker是一个简单的openharmony组件用于显示滚动文本。此行情自动收录器可处理字符串之间的平滑动画以及调整字符串的大小。
  • ohos-validation-komensky - ohos-validation-komensky一个简单的库用于使用注释来验证表单中的用户输入。
  • ormlite-ohos - 该软件包提供了特定于ohos的功能。ormlite-core-与ormlite-jdbc或ormlite-ohos一起提供lite Java ORM的核心ORMLite功能
  • TheMVP - 在MVP模式下View和Model是完全分离没有任何直接关联的(比如你在View层中完全不需要导Model的包也不应该去关联它们)。使用MVP模式能够更方便的帮助Ability(或AbiltySlice)职责分离,减小类体积,使项目结构更加清晰。
  • RxScreenshotDetector - 带有DataAbilityHelper和Rx的openharmony屏幕截图检测器。
  • seismic - openharmony设备抖动检测。它会侦听并识别具有适当硬件的设备上的抖动。
  • SystemBarTint - 在openharmony系统UI上应用背景着色“色调”样式非常适合基于壁纸的活动例如主屏幕启动器但是提供的最小背景保护使其在其他类型的活动中不那么有用除非您在布局中提供自己的背景。确定给定设备配置的系统UI的大小位置和存在可能并非易事。该库提供了一种使用颜色值为系统栏创建背景“色调”的简单方法。
  • lock-screen - 简单漂亮的锁屏库可设置检查密码。使用锁屏库轻松保护您的应用程序,就像启动意图一样简单。
  • EventBus - 是openhormony和Java的发布/订阅事件总线。
  • okhttputils - 对okhttp的封装类。
  • ohos-NoSql - 轻巧结构简单的NoSQL数据库可实现Openharmony。
  • Matisse - Matisse是为Openharmony设计的精心设计的本地图像和视频选择器。你可以Ability或AbilitySlice中使用它选择包括JPEGPNGGIF的图像以及包括MPEGMP4的视频应用不同的主题包括两个内置主题和自定义主题不同的图像加载器定义自定义过滤规则。
  • cropper - 裁剪器是一种图像裁剪工具。它提供了一种以XML方式和以编程方式设置图像的方法并在图像顶部显示了可调整大小的裁剪窗口。然后调用方法getCroppedImage将返回由裁剪窗口标记的PixelMap。
  • ImagePicker - 自定义相册完全仿微信UI实现了拍照、图片选择单选/多选)、 裁剪 、旋转、等功能。
  • FileDownloader - HarmonyOpenSource多任务文件下载引擎。
  • Keyframes - 关键帧是1从After Effects文件中提取图像动画数据的ExtendScript脚本和2OpenHarmony的相应渲染库的组合。关键帧可用于导出和渲染高质量基于矢量的动画这些动画具有复杂的形状和路径曲线而且文件占用空间极小。
  • device-year-class - Device Year Class是一个Openharmony库它实现了一个简单的算法该算法将设备的RAMCPU内核和时钟速度映射到那些规格组合被认为是高端的年份。这使开发人员可以根据电话硬件的功能轻松修改应用程序的行为。
  • Toasty - 主要将底层安卓接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用。
  • LitePal - LitePal是一个开源的openharmony库它使开发人员可以非常轻松地使用SQLite数据库。您无需编写SQL语句即可完成大多数数据库操作包括创建或升级表crud操作聚合函数等。LitePal的设置也非常简单您可以在不到5个的时间内将其集成到项目中分钟。
  • preferencebinder - 使用注释处理此库使加载SharedPreferences值和侦听更改变得容易。

安全

  • PermissionsDispatcher - PermissionsDispatcher提供了一个简单的基于注释的API来处理运行时权限。该库减轻了编写一堆检查语句无论是否已授予您权限带来的负担以保持您的代码干净安全。
  • Dexter - 一个可简化运行时的权限请求过程。 允许用户在运行应用程序时授予或拒绝权限,而不是在安装应用程序时授予所有权限。

文件数据

  • hawk - Hawk用于OpenHarmonyOS的安全简单的键值存储。
  • ohos-NoSql - 轻巧结构简单的NoSQL数据库可实现Openharmony。
  • Parceler - Parceler简单捆绑数据注入框架。
  • LitePal - LitePal是一个开源的openharmony库它使开发人员可以非常轻松地使用SQLite数据库。您无需编写SQL语句即可完成大多数数据库操作包括创建或升级表crud操作聚合函数等。LitePal的设置也非常简单您可以在不到5个的时间内将其集成到项目中分钟。
  • tray - 托盘是此提到的显式跨进程数据管理方法。托盘还提供了高级API通过升级和迁移机制它可以非常轻松地访问和维护您的数据。
  • ohos-database-sqlcipher - ohos-database-sqlcipher用于完全数据库加密。
  • ormlite-ohos - 该软件包提供了特定于ohos的功能。ormlite-core-与ormlite-jdbc或ormlite-ohos一起提供lite Java ORM的核心ORMLite功能。
  • FileDownloader - HarmonyOpenSource多任务文件下载引擎。

多媒体

  • CameraView - CameraView这是一个模仿微信拍照的ohos开源控件

    点击拍照10s的视频大概1.9M左右长按录视频(视频长度可设置)录制完视频可以浏览并且重复播放前后摄像头的切换可以设置小视频保存路径。

  • FastBle - Ohos Bluetooth Low Energy 蓝牙快速开发框架。鸿蒙,使用简单的方式进行搜索、连接、读写等一系列蓝牙操作,并实时地得到操作反馈。

  • ohosMP3Recorder - 以捕捉到来自你的计算机音频MP3麦克风的声音互联网流媒体Winamp的播放Windows媒体播放器音乐音频文件可以录制你喜欢的章节。

  • webp-ohos - webp是Chrome的webp解码器的改编版并添加了JNI包装器可轻松在Java代码中使用它。

  • PloyFun - 此仓库是为了提升国内下载速度的镜像仓库。

  • libyuv - libyuv是Google的开源库用于在YUV和RGB之间进行转换旋转和缩放。它支持在WindowsLinuxMac和其他平台x86x64arm架构以及SIMD指令加速例如SSEAVXNEON上进行编译和执行。

  • Matisse - Matisse是为Openharmony设计的精心设计的本地图像和视频选择器。你可以Ability或AbilitySlice中使用它选择包括JPEGPNGGIF的图像以及包括MPEGMP4的视频应用不同的主题包括两个内置主题和自定义主题不同的图像加载器定义自定义过滤规则。

  • ImagePicker - 自定义相册完全仿微信UI实现了拍照、图片选择单选/多选)、 裁剪 、旋转、等功能。

其他

  • agera - 一组类和接口,可帮助编写功能性,异步和反应性应用程序。
  • preferencebinder - 一个首选绑定库。

开源HAP

鸿蒙社区中有一些未来会变得很多开源HAP可供开发者学习这个列表可以帮助你找到真正值得你花时间并且可以帮助你学到东西的开源HAP。

DevEco插件

在DevEco中配置好合适的插件可以有效地提升你的鸿蒙开发工作效率。这个列表提供了经过我们挑选的DevEco插件希望会对你的开发工作产生帮助。

免费版

  • Buck - 快速构建系统,鼓励通过各种平台和语言创建小型可重用的模块
  • Carbon - 创建并共享源代码的精美图片
  • CodeGlance - 将类似于Sublime中的代码的微型地图嵌入到编辑器窗格中。 使用您自定义的颜色对亮色和深色主题进行语法突出显示
  • Codota - 通过直接在IDE中获取出色的代码示例来增强开发工作流程。 IntelliJ的Codota插件可让您快速找到每个API类或方法的最佳代码示例
  • Dagger IntelliJ Plugin - 用于Dagger的IntelliJ IDEA插件可深入了解如何使用注入和提供程序
  • Detekt - Kotlin的静态代码分析
  • DTO Generator - 数据传输对象DTO生成器可从给定的提要中生成Java类
  • Infer - 用于JavaCC ++和Objective-C的静态分析器
  • JSONSchema2POJO - 简单快速地将JSON转换为Java对象的方法
  • Material Palette - 快速轻松地生成Material Design调色板
  • Methods Count - 您的完美契合APK解决方案
  • Sonar -适用于移动开发人员的桌面调试平台
  • SonarLint - SonarLint是IntelliJ IDEA插件可向开发人员提供有关注入Java的新错误和质量问题的动态反馈。
  • String Manipulation - 提供文本操作的动作,例如切换,大写,编码/解码等

免费版 (+ 付费专业版)

  • Crowdin - 更好,更快,更智能地翻译和管理流程
  • GitKraken - 适用于WindowsMac和Linux的最受欢迎的Git GUI

鸿蒙kotlin相关

鸿蒙也是可以支持kotlin编程的所以这一部分内容我们也在筹划中。未来将在此列举更多的优秀的Kotlin资源供大家使用。

  • Spek - Kotlin的规范框架

DevEco快捷键

DevEco的快捷键可以让开发工作流程快速流畅。让使用快捷键成为一种习惯不要用鼠标来执行大多数操作。以下提供了一些最有用的快捷键。

(目前仅提供Windows版本DevEco的快捷键Mac或其它版本的快捷键会在未来加入)

Note将以下大部分快捷键中Ctrl换成Command就是Mac版的相同快捷键

最常用的快捷键:

功能 快捷键
搜索当前Project中的一切 (文件、类、变量、字符等) Shift + Shift
搜索当前Project中的class Ctrl + N
搜索当前Project中所有的文本 Ctrl + Shift + F
搜索当前Project中的file Ctrl + Shift + N
搜索当前Project中的action Ctrl + Shift + A
在当前file中搜索字符 Ctrl + F
显示最近在IDE中打开的file Ctrl + E
运行可以是hap或test Ctrl + R
在类、方法、变量的定义与引用之间跳转 Ctrl + Left Click
注释/取消注释所有选定行也适用于xml文件 Ctrl + /

常用的快捷键:

功能 快捷键
向上/向下移动一段代码 Ctrl + Shift + Up/Down
打开DevEco的说明文档 F1
显示当前方法所需的参数类型(光标需在方法名或参数括号内) Ctrl + P
格式化代码以匹配DevEco的默认样式 Ctrl + Alt + L
删除光标后的第一个字符串 Ctrl + Delete

有用的快捷键

功能 快捷键
将光标移动到下一个编写检查错误位置 F2
转到光标处变量/方法/类的声明 Ctrl + B
复制当前行并粘贴在下一行 Ctrl + D
在弹出窗口中显示类结构 Ctrl + F12
在弹出窗口中列出最近编辑的文件 Ctrl + Shift + E
【Git相关】从Git远程仓pull Ctrl + T
【Git相关】Commit当前变更 Ctrl + K
【Git相关】push到Git远程仓 Ctrl + Shift + K
折叠/展开所有代码块 Ctrl + Shift + +/-
折叠/展开单个代码块 Ctrl + +/-
在当前光标位置下方插入新行 Shift + Enter
完整语句(添加大括号、圆括号、分号) Ctrl + Shift + Enter

网站

提供一个网站列表,在上面可以找到最新的鸿蒙相关技术、新闻。

优秀文章

觉得直接在网站上找资料如大海捞针?没关系,我们已经为你精心挑选了一些干货满满的文章,相信你看完之后一定会有所收获。

书籍

提供一些鸿蒙开发相关的书籍,帮助你系统地学习鸿蒙开发。

  • 鸿蒙应用开发实战 - 张荣超 - 第一本华为操作系统HarmonyOS开发图书以JavaScript为开发语言示例以华为智能手表为运行载体提供完整源代码详解国产鸿蒙操作系统。

视频教程

以下列表包含了一些鸿蒙开发的视频教程,从理论到实践全方面地学习鸿蒙开发。

相关组织

如果您喜欢关注鸿蒙和OpenHarmony相关的最新新闻了解系统的最新技术进展了解在鸿蒙系统上的最新的优秀应用那么关注这个列表准没错。这个列表挑选了一些目前在鸿蒙以及OpenHarmony生态圈中相当活跃的一些第三方组织。

  • ISRC_OHOS:

    • Gitee - 开源大量实用的鸿蒙第三方库
    • 51CTO知乎CSDN - 提供详细的鸿蒙第三方库分析与使用说明,干货满满。
  • 深鸿会:

    • Gitee - 提供鸿蒙开发者所需要的知识分享,经验传递,项目交流平台。
  • 51CTOHarmonyOS技术社区专栏:

    • 51CTO - 大量的鸿蒙开发经验分享专栏,涉及各个方面,综合性较强。
  • 软通动力HarmonyOS学院:

    • Github - 开源大量实用的鸿蒙第三方库。
    • 51CTO - 提供详细的鸿蒙第三方库分析与使用说明。
  • HarmonyHub

    • Gitee - 提供鸿蒙操作系统开源组件库,讲解如何使用。
  • scriptiot

    • Gitee - 针对鸿蒙OS进行深度研究提供EVM虚拟机在Harmony OS上的适配。
  • hihopeorg:

    • Gitee - 为HarmonyOS提供tftp server以及物联网应用开发知识。

OpenHarmony JS组件开发指南

OpenHarmony JS Demo开发讲解 - 讲解如何基于OpenHarmony开发JS Demo包括项目结构、JS FA、常用组件及自定义组件。

OpenHarmony JS项目开发流程 - 讲解基于DevEco开发OpenHarmony JS应用的基本流程包括环境配置、工程导入、证书配置、推送运行等。