開發
本示例基於 OpenHarmony 下的 JavaScript UI 框架,進行項目目錄解讀,JS FA、常用和自定義組件、用戶交互、JS 動畫的實現,通過本示例可以基本了解和學習到 JavaScript UI 的開發模式。
本項目是基於 OpenHarmony 項目而不是 HarmonyOS 項目,請注意運行環境。
請參考 OpenHarmony 項目配置方法 進行項目配置和運行。
如果你不熟悉 OpenHarmony 的 JS 開發,請參考該項目的 開發講解。
示例
- 下載 awesome-harmony 項目工程,將工程導入 DevEco Studio 進行編譯構建及運行調試。
- 進行編譯構建,生成一個 HAP 應用安裝包,生成 HAP 應用安裝包。
- 安裝運行后,即可在設備上查看應用示例運行效果,以及進行相關調試。
資料
網上資料有點散亂,先集中整理起來,后面慢慢學習消化。
本項目的靈感來源於UltimateAndroidReference。旨在提供一個精選的鴻蒙和 OpenHarmony 庫、工具、開源項目、書籍、博客、教程的集合。減少大家漫無目的的搜索時間,幫助大家在學習鴻蒙的過程中少踩坑、少走彎路。
目錄
庫
一些比較優秀的鴻蒙開源庫,免去反復造輪子的麻煩,方便鴻蒙軟件開發。
動畫
- 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,位圖和 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 - 一個可以定制各式各樣的掃描框。
實用工具
- 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 值和偵聽更改變得容易。
安全
- 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 - 一個首選綁定庫。
開源 HAP
鴻蒙社區中有一些(未來會變得很多)開源 HAP 可供開發者學習,這個列表可以幫助你找到真正值得你花時間並且可以幫助你學到東西的開源 HAP。
-
OpenHarmony Samples - 為幫助開發者快速熟悉 HarmonyOS 和 OpenHarmony SDK 所提供的 API 和應用開發流程,提供了一系列的應用示例,即 Sample。
-
官方 CodeLabs - 該 Codelabs 旨在向開發人員展示如何通過趣味場景來展示如何使用 HarmonyOS 能力的示例應用程序文檔教程。
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 - 提供文本操作的動作,例如切換,大寫,編碼/解碼等
免費版 (+ 付費專業版)
鴻蒙 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 - 掘金的 HarmonyOS 板塊
- 51CTO_HarmonyOS - 51CTO 的 HarmonyOS 技術社區
- 華為 Developers - 華為官方的技術論壇
- 電子發燒友_HarmonyOS 技術社區 - 電子發燒友論壇的 HarmonyOS 技術社區
優秀文章
覺得直接在網站上找資料如大海撈針?沒關系,我們已經為你精心挑選了一些干貨滿滿的文章,相信你看完之后一定會有所收獲。
- OpenAtom 教育資源倉 - 大量的官方收入的教育資源集合
- 安卓 VS 鴻蒙第三方件切換寶典 V1.0
- 鴻蒙內核源碼分析
- Feature Ability 和 AbilitySlice 的關系
- 使用繪圖組件 Canvas 繪制心率曲線圖
- 多組示例演示三個樣式的組合用法
- 列表組件 ListContainer
- Linux 下的 Hi3861 一站式鴻蒙開發燒錄(附工具)
書籍
提供一些鴻蒙開發相關的書籍,幫助你系統地學習鴻蒙開發。
- 鴻蒙操作系統應用開發實踐 - 陳美汝、鄭森文、武延軍、吳敬征 - 本書針對 HarmonyOS SDK 4 版本,對鴻蒙操作系統的應用開發基礎進行了梳理和介紹並同時,構建了一個在分布式場景非常常用的視頻流直播實例作為實戰的內容演練,進行了詳細的分析和講解。書籍包含 11 章教學課件,50 多個實例源代碼,200 多分鍾視頻講解,進一步幫助讀者掌握核心知識點。
- 鴻蒙應用開發實戰 - 張榮超 - 第一本華為操作系統 HarmonyOS 開發圖書,以 JavaScript 為開發語言,示例以華為智能手表為運行載體,提供完整源代碼,詳解國產鴻蒙操作系統。
視頻教程
以下列表包含了一些鴻蒙開發的視頻教程,從理論到實踐全方面地學習鴻蒙開發。
- 北向開發
- HarmonyOS 2.0 開發入門 - 將對 HarmonyOS 2.0 的應用開發有所理解,快速入門
- HarmonyOS(鴻蒙)App 項目實戰(1)手表篇 - 邊做邊學,學完之后就可以做出一個完整的 HarmonyOS(鴻蒙)運動手表上的 App
- HarmonyOS(鴻蒙)應用程序開發教程教你實現多時區電子時鍾 - 以 Java 語言為基礎介紹 HarmonyOS 基礎知識以及從零開始開發多時區電子時鍾
- 南向開發
- Harmony 鴻蒙內核 Liteos-a 開發 - 對鴻蒙內核 Liteos-a 有一個全面的理解
相關組織
如果您喜歡關注鴻蒙和 OpenHarmony 相關的最新新聞,了解系統的最新技術進展,了解在鴻蒙系統上的最新的優秀應用,那么關注這個列表准沒錯。這個列表挑選了一些目前在鴻蒙以及 OpenHarmony 生態圈中相當活躍的一些第三方組織。
-
ISRC_OHOS:
-
深鴻會:
- Gitee - 提供鴻蒙開發者所需要的知識分享,經驗傳遞,項目交流平台。
-
51CTOHarmonyOS 技術社區專欄:
- 51CTO - 大量的鴻蒙開發經驗分享專欄,涉及各個方面,綜合性較強。
-
軟通動力 HarmonyOS 學院:
-
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 應用的基本流程,包括環境配置、工程導入、證書配置、推送運行等。
此工程存放 OpenHarmony 提供的快速入門、開發指南、API 參考等開發者文檔,歡迎參與 OpenHarmony 開發者文檔開源項目,與我們一起完善開發者文檔。
- Openharmony 概述
- 輕量和小型系統開發指導(參考內存<128MB)
- 設備開發
- overview:設備開發導讀
- quick-start:快速入門(搭建環境、獲取源碼、編譯、燒錄等)
- Basic Capability:開發基礎能力
- guide:開發示例
- WLAN 連接類產品(LED 外設控制、集成三方 SDK)
- 無屏攝像頭類產品(攝像頭控制)
- 帶屏攝像頭類產品(屏幕和攝像頭控制、視覺應用開發)
- porting:移植適配
- bundles:組件開發
- 設備開發
- 標准系統開發指導(參考內存 ≥128MB)
- 應用開發
- 許可證及版權信息檢查工具:開源合規審查工具
- glossary:術語
- OpenHarmonyAPP 開發學習源碼體系
- OpenHarmonyApp 開發_2048 游戲講稿
- OpenHarmonyApp 開發_從萌新到高手
- OpenHarmony 三方組件開發指南
- OpenHarmony 三方組件開發指南/001 基於 OpenHarmony 系統的 Photoview 開發指南.pdf
- OpenHarmony 三方組件開發指南/002 基於 OpenHarmony 系統的 Logger 開發指南.pdf
- OpenHarmony 三方組件開發指南/003 基於 OpenHarmony 系統的 AsyncHttpt 網絡請求組件開發指南.pdf
- OpenHarmony 三方組件開發指南/004 基於 OpenHarmony 系統 compress 開發指南.pdf
- OpenHarmony 三方組件開發指南/005 基於 OpenHarmony 系統的 ActiveOhos_sqllite 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/006 基於 OpenHarmony 系統的 Matisse 三方件開發指南.pdf
- OpenHarmony 三方組件開發指南/007 基於 OpenHarmony 系統的 HistogramComponent 柱狀圖三方件開發指南.pdf
- OpenHarmony 三方組件開發指南/008 基於 OpenHarmony 系統的 PrecentPositionLayout 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/009 基於 OpenHarmony 系統的 refreshlayout 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/010 基於 OpenHarmony 系統的 LoadingView 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/011 基於 OpenHarmony 系統的 EventBus 組件開發指南使用說明.pdf
- OpenHarmony 三方組件開發指南/012 基於 OpenHarmony 系統的 Lottie 三方件開發指南.pdf
- OpenHarmony 三方組件開發指南/013 基於 OpenHarmony 系統的 PageSlider 組件實現 Banner 開發指南.pdf
- OpenHarmony 三方組件開發指南/015 基於 OpenHarmony 系統的 RoundedImage 三方件開發指南.pdf
- OpenHarmony 三方組件開發指南/016 基於 OpenHarmony 系統的 MaterialProgressBar 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/017 基於 OpenHarmony 系統的 CircleImageView 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/018 基於 OpenHarmony 系統的 SwitchButton 組件開發指南.pdf
- OpenHarmony 三方組件開發指南/019.基於 OpenHarmony 系統的 Gif 三方件開發指南.pdf
- OpenHarmony 三方組件開發指南/020.基於 OpenHarmony 系統的 pickerView 三方件開發指南 .pdf
- OpenHarmony 內核 Liteos-a 移植
- OpenHarmony 應用開發基礎
- OpenHarmony 硬件開發基礎
- OpenHarmony 組件庫應用實踐及進階
- OpenHarmony 高校實驗手冊
- 北京大學 2021 春季開源軟件課程
- 小熊派 OpenHarmony 設備開發系列教程
- 清華 2021 春季操作系統課程
- 物聯網 IoT 鴻蒙 HiSpark 套件一站式培訓教程
- 青少年 OpenHarmony 鴻蒙開源課程
收錄來自 OpenHarmony/codelabs
該 Codelabs 旨在向開發人員展示如何通過趣味場景來展示如何使用 HarmonyOS 能力的示例應用程序文檔教程。
注意:IDE 版本及配套 SDK 問題可前往https://developer.harmonyos.com/cn/develop/deveco-studio#download 查看配套的 IDE、鴻蒙 SDK、插件及 Gradle 版本。
- ComponentCodelab: 展示 JAVA 通用組件用法
- SimpleVideoCodelab:使用視頻接口能力實現一個簡單的視頻播放器
- DistributedVideoCodelab:如何使用分布式能力進行視頻跨設備播放及控制
- EducationSystem:展示了分布式的早教算術題和拼圖游戲的案例
- HarmonyOSNewsClient:展示了一個可以分享新聞詳情頁面的簡易新聞客戶端
- DistributedMail:展示了一個可以跨設備遷移和分布式文件調用的簡易郵件編輯頁面
- ShoppingJs:展示了一個使用 JS UI 組件開發的購物應用
- VoiceCamera:展示了一個基於分布式文件系統和 AI 語音識別功能開發的分布式語音照相機
- JSPlaygroundDemo:利用 HarmonyOS“一次開發、多端部署”特性,開發一個能同時運行在手機、大屏、運動表的“To-Do List”Demo
- RemoteInputDemo:展示了通過手機輸入文字到電視的跨設備輸入能力
- DistributionGamePad:分布式游戲手柄,可以通過手機端跨設備控制電視上的飛機游戲
- AudioDemo:音頻播放相關管理應用包括音頻播放、聲音采集和音頻相關管理(快進、快退、暫停、播放、音量控制)等功能
- DistributedMapDemo:展示簡單的 HarmonyOS 分布式功能,可以通過應用程序模擬導航,在手機、智能穿戴和平板電腦之間進行導航數據流轉
鴻蒙系統的相關資源整合,由深圳大學學生團隊負責,長期更新。
最新更新的活動、比賽、項目等會加上西瓜標志
在加注過程中,整理出以下文章。內容立足源碼,常以生活場景打比方盡可能多的將內核知識點置入某種場景,具有畫面感,容易理解記憶。說別人能聽得懂的話很重要! 百篇博客絕不是百度教條式的在說一堆詰屈聱牙的概念,那沒什么意思。更希望讓內核變得栩栩如生,倍感親切.確實有難度,自不量力,但已經出發,回頭已是不可能的了。
與代碼有 bug 需不斷 debug 一樣,文章和注解內容會存在不少錯漏之處,請多包涵,但會反復修正,持續更新,.xx
代表修改的次數,精雕細琢,言簡意賅,力求打造精品內容。
- v62.xx 鴻蒙內核源碼分析(文件概念篇) | 為什么說一切皆是文件 | 51 .c .h .o
- v61.xx 鴻蒙內核源碼分析(忍者 ninja 篇) | 都忍者了能不快嗎 | 51 .c .h .o
- v60.xx 鴻蒙內核源碼分析(gn 應用篇) | gn 語法及在鴻蒙的使用 | 51 .c .h .o
- v59.xx 鴻蒙內核源碼分析(構建工具篇) | 順瓜摸藤調試鴻蒙構建過程 | 51 .c .h .o
- v58.xx 鴻蒙內核源碼分析(環境腳本篇) | 編譯鴻蒙原來如此簡單 | 51 .c .h .o
- v57.xx 鴻蒙內核源碼分析(編譯過程篇) | 簡單案例窺視 GCC 編譯全過程 | 51 .c .h .o
- v56.xx 鴻蒙內核源碼分析(進程映像篇) | ELF 是如何被加載運行的? | 51 .c .h .o
- v55.xx 鴻蒙內核源碼分析(重定位篇) | 與國際接軌的對外部發言人 | 51 .c .h .o
- v54.xx 鴻蒙內核源碼分析(靜態鏈接篇) | 完整小項目看透靜態鏈接過程 | 51 .c .h .o
- v53.xx 鴻蒙內核源碼分析(ELF 解析篇) | 你要忘了她姐倆你就不是銀 | 51 .c .h .o
- v52.xx 鴻蒙內核源碼分析(靜態站點篇) | 五一哪也沒去就干了這事 | 51 .c .h .o
- v51.xx 鴻蒙內核源碼分析(ELF 格式篇) | 應用程序入口並不是 main | 51 .c .h .o
- v50.xx 鴻蒙內核源碼分析(編譯環境篇) | docker 編譯鴻蒙真的很香 | 51 .c .h .o
- v49.xx 鴻蒙內核源碼分析(信號消費篇) | 誰讓 CPU 連續四次換棧運行 | 51 .c .h .o
- v48.xx 鴻蒙內核源碼分析(信號生產篇) | 年過半百,依然活力十足 | 51 .c .h .o
- v47.xx 鴻蒙內核源碼分析(進程回收篇) | 臨終前如何向老祖宗托孤 | 51 .c .h .o
- v46.xx 鴻蒙內核源碼分析(特殊進程篇) | 龍生龍鳳生鳳老鼠生兒會打洞 | 51 .c .h .o
- v45.xx 鴻蒙內核源碼分析(Fork 篇) | 一次調用,兩次返回 | 51 .c .h .o
- v44.xx 鴻蒙內核源碼分析(中斷管理篇) | 江湖從此不再怕中斷 | 51 .c .h .o
- v43.xx 鴻蒙內核源碼分析(中斷概念篇) | 海公公的日常工作 | 51 .c .h .o
- v42.xx 鴻蒙內核源碼分析(中斷切換篇) | 系統因中斷活力四射 | 51 .c .h .o
- v41.xx 鴻蒙內核源碼分析(任務切換篇) | 看匯編如何切換任務 | 51 .c .h .o
- v40.xx 鴻蒙內核源碼分析(匯編匯總篇) | 匯編可愛如鄰家女孩 | 51 .c .h .o
- v39.xx 鴻蒙內核源碼分析(異常接管篇) | 社會很單純,復雜的是人 | 51 .c .h .o
- v38.xx 鴻蒙內核源碼分析(寄存器篇) | 小強乃宇宙最忙存儲器 | 51 .c .h .o
- v37.xx 鴻蒙內核源碼分析(系統調用篇) | 開發者永遠的口頭禪 | 51 .c .h .o
- v36.xx 鴻蒙內核源碼分析(工作模式篇) | CPU 是韋小寶,七個老婆 | 51 .c .h .o
- v35.xx 鴻蒙內核源碼分析(時間管理篇) | 誰是內核基本時間單位 | 51 .c .h .o
- v34.xx 鴻蒙內核源碼分析(原子操作篇) | 誰在為原子操作保駕護航 | 51 .c .h .o
- v33.xx 鴻蒙內核源碼分析(消息隊列篇) | 進程間如何異步傳遞大數據 | 51 .c .h .o
- v32.xx 鴻蒙內核源碼分析(CPU 篇) | 整個內核就是一個死循環 | 51 .c .h .o
- v31.xx 鴻蒙內核源碼分析(定時器篇) | 哪個任務的優先級最高 | 51 .c .h .o
- v30.xx 鴻蒙內核源碼分析(事件控制篇) | 任務間多對多的同步方案 | 51 .c .h .o
- v29.xx 鴻蒙內核源碼分析(信號量篇) | 誰在負責解決任務的同步 | 51 .c .h .o
- v28.xx 鴻蒙內核源碼分析(進程通訊篇) | 九種進程間通訊方式速攬 | 51 .c .h .o
- v27.xx 鴻蒙內核源碼分析(互斥鎖篇) | 比自旋鎖豐滿的互斥鎖 | 51 .c .h .o
- v26.xx 鴻蒙內核源碼分析(自旋鎖篇) | 自旋鎖當立貞節牌坊 | 51 .c .h .o
- v25.xx 鴻蒙內核源碼分析(並發並行篇) | 聽過無數遍的兩個概念 | 51 .c .h .o
- v24.xx 鴻蒙內核源碼分析(進程概念篇) | 進程在管理哪些資源 | 51 .c .h .o
- v23.xx 鴻蒙內核源碼分析(匯編傳參篇) | 如何傳遞復雜的參數 | 51 .c .h .o
- v22.xx 鴻蒙內核源碼分析(匯編基礎篇) | CPU 在哪里打卡上班 | 51 .c .h .o
- v21.xx 鴻蒙內核源碼分析(線程概念篇) | 是誰在不斷的折騰 CPU | 51 .c .h .o
- v20.xx 鴻蒙內核源碼分析(用棧方式篇) | 程序運行場地由誰提供 | 51 .c .h .o
- v19.xx 鴻蒙內核源碼分析(位圖管理篇) | 誰能一分錢分兩半花 | 51 .c .h .o
- v18.xx 鴻蒙內核源碼分析(源碼結構篇) | 內核每個文件的含義 | 51 .c .h .o
- v17.xx 鴻蒙內核源碼分析(物理內存篇) | 怎么管理物理內存 | 51 .c .h .o
- v16.xx 鴻蒙內核源碼分析(內存規則篇) | 內存管理到底在管什么 | 51 .c .h .o
- v15.xx 鴻蒙內核源碼分析(內存映射篇) | 虛擬內存虛在哪里 | 51 .c .h .o
- v14.xx 鴻蒙內核源碼分析(內存匯編篇) | 誰是虛擬內存實現的基礎 | 51 .c .h .o
- v13.xx 鴻蒙內核源碼分析(源碼注釋篇) | 鴻蒙必定成功,也必然成功 | 51 .c .h .o
- v12.xx 鴻蒙內核源碼分析(內存管理篇) | 虛擬內存全景圖是怎樣的 | 51 .c .h .o
- v11.xx 鴻蒙內核源碼分析(內存分配篇) | 內存有哪些分配方式 | 51 .c .h .o
- v10.xx 鴻蒙內核源碼分析(內存主奴篇) | 皇上和奴才如何相處 | 51 .c .h .o
- v09.xx 鴻蒙內核源碼分析(調度故事篇) | 用故事說內核調度過程 | 51 .c .h .o
- v08.xx 鴻蒙內核源碼分析(總目錄) | 百萬漢字注解 百篇博客分析 | 51 .c .h .o
- v07.xx 鴻蒙內核源碼分析(調度機制篇) | 任務是如何被調度執行的 | 51 .c .h .o
- v06.xx 鴻蒙內核源碼分析(調度隊列篇) | 內核有多少個調度隊列 | 51 .c .h .o
- v05.xx 鴻蒙內核源碼分析(任務管理篇) | 任務池是如何管理的 | 51 .c .h .o
- v04.xx 鴻蒙內核源碼分析(任務調度篇) | 任務是內核調度的單元 | 51 .c .h .o
- v03.xx 鴻蒙內核源碼分析(時鍾任務篇) | 觸發調度誰的貢獻最大 | 51 .c .h .o
- v02.xx 鴻蒙內核源碼分析(進程管理篇) | 誰在管理內核資源 | 51 .c .h .o
- v01.xx 鴻蒙內核源碼分析(雙向鏈表篇) | 誰是內核最重要結構體 | 51 .c .h .o