開發
本示例基於 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