53 Star 353 Fork 59

ISRC_OHOS/UltimateHarmonyReference

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
contribute
Sync branch
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README
Apache-2.0

UltimateHarmonyReference

背景

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

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

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

开源贡献规则

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

如果想要贡献资源,只需在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动画,并在移动设备上本地呈现它们。
  • ohos-spruce-ohos-spruce是一个轻量级的动画库,可帮助编排屏幕上的动画。由于存在许多不同的动画库,开发人员需要确保每个视图都在适当的时间进行动画处理。

图表绘制

  • MPChart_ohos - 基于开源项目MPAndroidChart进行鸿蒙化的移植和开发,支持多种数据图的绘制
  • HistogramComponent - 可以更快速实现一个简单的柱状图功能,对外提供数据源,修改柱状图颜色和间距的接口。

错误报告与跟踪

  • WatchDog_ohos - 基于开源项目WatchDog进行鸿蒙化的移植和开发,可检测到鸿蒙系统的ANR错误并引发有意义的异常

图像加载

图像处理

  • 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,位图和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解决方案,它支持addHeaderView,addFooterView到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_THREAD,NEW_THREAD,IO,COMPUTATION,TRAMPOLINE,EXECUTOR, 单和处理程序。 RxBus还提供事件标签来定义事件。 方法的第一个(也是唯一的)参数和标记定义事件类型。
  • BGAQRCode-ohos - 一个可以定制各式各样的扫描框。
  • 自定义icon-HarmonyOS JS UI 自定义icon组件

实用工具

  • 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_THREAD,NEW_THREAD,IO,COMPUTATION,TRAMPOLINE,EXECUTOR, 单和处理程序。 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提供自定义的LayoutManager,VirtualLayout可以在单个视图上优雅地布局具有不同样式的子视图。定制的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 - Rxohos:RxJava3的openharmony特定绑定的反应性扩展。该模块向RxJava添加了最小的类,这些类使在openharmony应用程序中编写反应式组件变得容易且轻松。更具体地说,它提供了一个可在主线程或任何给定EventRunner上进行调度的Scheduler。
  • butterknife - openharmony组件的字段和方法绑定,它使用注释处理为您生成样板代码。
  • logger - 记录器:简单,漂亮,功能强大的记录器
  • stefanjauker_BadgeView - BadgeView openharmony项目,模仿iOS Springboard'徽章'的扩展TextView。它可以覆盖在任何其他项目上。
  • TinyPinyin - 快速、低内存占用的汉字转拼音库。
  • Compressor - Compressor是一个轻量级且功能强大的和谐图像压缩库。通过Compressor,您可以将大照片压缩为较小尺寸的照片,而图像质量的损失则很小或可以忽略不计。不支持WebP。
  • CompressHelper - 图片压缩,压缩Pixelmap,CompressImage 主要通过尺寸压缩和质量压缩,以达到清晰度最优。
  • xLog - 简单、美观、强大、可扩展的 openHormony 和 Java 日志库,可同时在多个通道打印日志,如 hilog、Console 和文件。如果你愿意,甚至可以打印到远程服务器(或其他任何地方)。
  • DragScaleCircleView - 一个可拖动与缩放的自定义圆形View,它其实是一个ImageView,自带了拖放圆形区域的功能,可以用于从一张图片截取一个圆形的视图。
  • MultiType - MultiType:为ListContainer创建多个类型更容易,更灵活。以前,当我们需要开发复杂的ListContainer时,这是困难且麻烦的工作。一旦需要添加新的项目类型,就必须转到原始适配器文件并仔细修改一些旧代码,这些适配器类将变得更加复杂。MultiType提供了便捷的方法来轻松开发复杂的ListContainer。使用此库,我们可以插入其他类型的元素,而无需更改任何旧的itemprovider代码,并使它们更具可读性。
  • FlycoRoundView - 库可帮助openharmony内置视图轻松方便地设置圆形矩形背景,并因此可以减少相关的形状资源。
  • BadgeView - BadgeView是个消息提醒小红点,可以修改红点样式。
  • CustomActivityOnCrash - CustomActivityOnCrash:CustomActivityOnCrash是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中使用它,选择包括JPEG,PNG,GIF的图像以及包括MPEG,MP4的视频,应用不同的主题,包括两个内置主题和自定义主题,不同的图像加载器,定义自定义过滤规则。
  • cropper - 裁剪器是一种图像裁剪工具。它提供了一种以XML方式和以编程方式设置图像的方法,并在图像顶部显示了可调整大小的裁剪窗口。然后,调用方法getCroppedImage()将返回由裁剪窗口标记的PixelMap。
  • ImagePicker - 自定义相册,完全仿微信UI,实现了拍照、图片选择(单选/多选)、 裁剪 、旋转、等功能。
  • FileDownloader - HarmonyOpenSource多任务文件下载引擎。
  • Keyframes - 关键帧是(1)从After Effects文件中提取图像动画数据的ExtendScript脚本和(2)OpenHarmony的相应渲染库的组合。关键帧可用于导出和渲染高质量,基于矢量的动画,这些动画具有复杂的形状和路径曲线,而且文件占用空间极小。
  • device-year-class - Device Year Class是一个Openharmony库,它实现了一个简单的算法,该算法将设备的RAM,CPU内核和时钟速度映射到那些规格组合被认为是高端的年份。这使开发人员可以根据电话硬件的功能轻松修改应用程序的行为。
  • Toasty - 主要将底层安卓接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用。
  • LitePal - LitePal是一个开源的openharmony库,它使开发人员可以非常轻松地使用SQLite数据库。您无需编写SQL语句即可完成大多数数据库操作,包括创建或升级表,crud操作,聚合函数等。LitePal的设置也非常简单,您可以在不到5个的时间内将其集成到项目中分钟。
  • preferencebinder - 使用注释处理,此库使加载SharedPreferences值和侦听更改变得容易。
  • Rajawali- Rajawali是HarmonyOS基于OpenGL ES 1.X/2.0/3.0的3D引擎库。提供了丰富的示例,开发者使用它可以很方便地进行3D应用开发。
  • AAChartCore- AAChartCore是一组易于使用、极其精美而又强大的数据可视化图表框架。
  • RxImagePicker- RxImagePicker一个灵活可高度定制的图片选择架构,提供了读取相册和调用系统相机拍照的功能。用户可自由选择图片加载框架,还可设置主题图片的选择界面和预览图片的自适应界面。
  • HarmonyOS Sample 之 Pasteboard 分布式粘贴板 - HarmonyOS提供系统剪贴板服务的操作接口,支持用户程序从系统剪贴板中读取、写入和查询剪贴板数据,以及添加、移除系统剪贴板数据变化的回调。
  • 鸿蒙开源第三方组件——SwipeCaptcha_ohos3.0旋转验证组件 - 基于安卓平台的滑动拼## 二级标题图验证组件。
  • #星光计划1.0# HarmonyOS 自定义组件之仿微信朋友圈主页 - 自定义一个仿微信朋友圈主页的组件。
  • #星光计划1.0# 鸿蒙开源第三方组件——crop_image_layout_ohos - crop_image_layout_ohos组件能对图片进行旋转和自定义裁切的操作,并且无论待裁切图片原尺寸有多大或多小,最终都将在以最佳尺寸在组件内显示。同时,该组件操作界面简洁且使用方法简单,易被开发者使用或优化,能够提升应用的丰富性和可操作性。
  • DistributedVideoPlayer 分布式视频播放器(二) - 视频播放器。
  • DistributedVideoPlayer 分布式视频播放器(一) - 视频播放器。
  • 鸿蒙开源第三方组件——SwipeCaptcha_ohos2.0滑动拼图验证组件 - 滑动拼图验证组件。
  • 纯JS分布式视频播放应用 - 视频播放应用。

安全

  • 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之间进行转换,旋转和缩放。它支持在Windows,Linux,Mac和其他平台,x86,x64,arm架构以及SIMD指令加速(例如SSE,AVX,NEON)上进行编译和执行。

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

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

其他

  • agera - 一组类和接口,可帮助编写功能性,异步和反应性应用程序。
  • preferencebinder - 一个首选绑定库。
  • JAVA自定义组件 - 自定义组件有三种:基本组件的组合组件、继承基本组件、自我绘制组件。前面两种比较简单,这篇文章主要讲的是自我绘制组件

开源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 - 用于Java,C,C ++和Objective-C的静态分析器
  • JSONSchema2POJO - 简单快速地将JSON转换为Java对象的方法
  • Material Palette - 快速轻松地生成Material Design调色板
  • Methods Count - 您的完美契合APK解决方案
  • Sonar -适用于移动开发人员的桌面调试平台
  • SonarLint - SonarLint是IntelliJ IDEA插件,可向开发人员提供有关注入Java的新错误和质量问题的动态反馈。
  • String Manipulation - 提供文本操作的动作,例如切换,大写,编码/解码等

免费版 (+ 付费专业版)

  • Crowdin - 更好,更快,更智能地翻译和管理流程
  • GitKraken - 适用于Windows,Mac和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 SDK 4版本,对鸿蒙操作系统的应用开发基础进行了梳理和介绍并同时,构建了一个在分布式场景非常常用的视频流直播实例作为实战的内容演练,进行了详细的分析和讲解。书籍包含11章教学课件,50多个实例源代码,200多分钟视频讲解,进一步帮助读者掌握核心知识点。
  • 鸿蒙应用开发实战 - 张荣超 - 第一本华为操作系统HarmonyOS开发图书,以JavaScript为开发语言,示例以华为智能手表为运行载体,提供完整源代码,详解国产鸿蒙操作系统。
  • 鸿蒙操作系统开发入门经典 - 徐礼文 - 全面介绍华为鸿蒙操作系统实战开发,涵盖鸿蒙北向应用开发内容和南向硬件开发基础内容,包含14章教学课件和30多个源代码,助力读者快速掌握鸿蒙应用开发的技巧。
  • 鸿蒙征途:App开发实战 - 李宁 - 一本基于Java的鸿蒙操作系统(HarmonyOS)App开发指南。全书系统、由浅入深地介绍了HarmonyOS App开发的知识、相关经验和技巧,以理论与实战相结合的方式向读者呈现HarmonyOS App开发的整个过程。
  • 鸿蒙应用程序开发 - 董昱 - 以基础知识和实例相结合的方式,成体系地介绍鸿蒙应用程序开发的常用技术,定位为鸿蒙应用程序开发的入门图书,成体系地介绍鸿蒙应用开发的基础知识。
  • HarmonyOS IoT设备开发实战 - 江苏润和软件股份有限公司 - 主要介绍如何使用HarmonyOS(鸿蒙操作系统)开发物联网设备端软件,具体包括外设控制、网络编程、物联网平台接入等。书中的实例程序均在HiSpark Wi-Fi IoT开发套件上进行测试和演示,部分章节内容也适用于其他支持HarmonyOS的物联网设备。
  • 《深入浅出OpenHarmony——架构、内核、驱动及应用开发全栈》- 李传钊-本书从OpenHarmony操作系统的设计目标与设计思路开始,由表及里、深入浅出地讲解了OpenHarmony操作系统的架构、内核、驱动及应用开发基础与实战的全栈技术内容。在实战部分,从开发环境的安装配置开始,分别讲解了南向开发、北向开发的基本过程及实战案例。本书的英文版已在翻译之中,华为已将其作为面向全球推荐的OpenHarmony操作系统的官方技术教程之一。
  • 《华为LiteOS:快速上手物联网应用开发》-朱有鹏,樊心昊,左新戈,涂小平-本书是第 一本关于物联网操作系统华为LiteOS的书,接入并开启鸿蒙(Harmony)时代。快速掌握华为LiteOS,在华为物联网体系赋能下更快速更低成本地开发自身的物联网产品。
  • 《鸿蒙第三方组件库应用开发实战》-武延军、郑森文、朱伟、吴敬征-本书是第 一本书通过多个精选的开源组件库,详尽地讲解了如何在鸿蒙操作系统下使用这些组件库实现快捷的应用开发。同时,本书详细剖析了鸿蒙操作系统组件库的实现原理,并通过一个综合应用实战帮助读者学习更加深入的应用开发知识和技巧。
  • 鸿蒙生态:开启万物互联的智慧新时代-李洋-本书尝试从科普、专业与工具三个方面介绍鸿蒙。

视频教程

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

相关组织

如果您喜欢关注鸿蒙和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应用的基本流程,包括环境配置、工程导入、证书配置、推送运行等。

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2020 Institute of Software Chinese Academy of Sciences, ISRC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

旨在提供一个精选的鸿蒙库、工具、开源项目、书籍、博客、教程的集合。减少大家漫无目的的搜索时间,帮助大家在学习鸿蒙的过程中少踩坑、少走弯路。 expand collapse
other
Apache-2.0
Cancel

Releases

No release

Contributors

All

Activities

Load More
can not load any more
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
other
1
https://gitee.com/isrc_ohos/ultimate-harmony-reference.git
git@gitee.com:isrc_ohos/ultimate-harmony-reference.git
isrc_ohos
ultimate-harmony-reference
UltimateHarmonyReference
master

Search