2021 HUAWEI DEVELOPER CONFERENCE - Huawei Developer

Codelabs

Topics to follow

All

HMS Core

AppGallery Connect

Developer tools

Ecosystem cooperation

HarmonyOS

Account Kit

SignPal Kit

Dynamic Tag Manager

Ads Kit (Banner Ads)

Push Kit

Awareness Kit

Analytics Kit

Map Kit

Site Kit

Location Kit

Keyring

Video Editor Kit

Audio Editor Kit

ML Kit

HiAI Foundation

3D Modeling Kit

AR Engine

Scene Kit

CG Kit

HMS Toolkit

Auth Service

Cloud Functions

Cloud DB (Android)

Cloud Storage(Android)

App Messaging (Android)

Remote Configuration (Android)

App Linking (Android)

APM

Crash (Android)

HUAWEI VR SDK

HUAWEI AR Engine

Quick App

HUAWEI Research

Petal Kids Code

One-Time Development for Multi-Device Deployment

Declarative UI Programming Paradigm

Agent-Powered Scheduled Reminders

Hassistant

Board Porting

HDF-WLAN Adaptation

JS Pedometer Service Widget

Custom Liquid Layout

Shopping App

JS Movie Service Widget

Transition Animation

Distributed Database

Image Editing Template

Windmill

Distributed Game Authentication

Distributed Email Editing

Distributed Video Player

Distributed Sketchpad

Distributed Map Navigation

Video Codec

Huawei Share OneHop with Aroma Diffuser

Facial Recognition

AI General Text Recognition

App Multiplier

对不起,没有找到符合您筛选的内容!

Account Kit

Speech date

Oct 24

Introduction

There are over one billion HUAWEI ID users across the globe. Apps with Account Kit integrated allow users to sign in using their HUAWEI IDs with just one tap. By integrating Account Kit into your app, you can attract new users to your app by leveraging the enormous HUAWEI ID user base. Account Kit complies with the OAuth 2.0 and OpenID Connect protocols.

Challenge

In this codelab, you will use a demo project to call the APIs of Account Kit. Through the demo project, you'll be able to implement the following functions:
1. Requesting authorization from users and signing them in if authorized
2. Obtaining basic user information such as the user ID, nickname, and profile picture
3. Enabling users to cancel their authorization from your app

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

SignPal Kit

Speech date

Oct 23

Introduction

Based on industry-leading deep neural network technologies, SignPal Kit converts inputted text into sign language gestures that are coherent and grammatically correct in a stable and continuous manner, helping you add accessibility features to your app for the hearing-impaired.

Challenge

In this codelab, you will create an app with the following capabilities:
1. Obtains sign language data based on the text that users input.
2. Generates and displays gesture animations using the data.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Dynamic Tag Manager

Speech date

Oct 24

Introduction

With Dynamic Tag Manager (DTM), you can deploy and update your tag configuration easily and securely on a web-based UI, and realize data-driven operations based on powerful analysis capabilities of HUAWEI Analytics.

Challenge

In this codelab, you will use the created demo project to call open APIs of DTM. Through the demo project, you will experience how to:
1. Use DTM to report user events.
2. View event reports on HUAWEI Analytics.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Ads Kit (Banner Ads)

Speech date

Oct 23

Introduction

Ads Kit leverages the vast user base of Huawei devices and Huawei's extensive data capabilities to provide you with the Publisher Service, which helps you monetize traffic. It also provides an advertising service for advertisers to deliver personalized campaigns or commercial ads to Huawei device users.

Challenge

In this codelab, you will build a demo app and integrate a roll ad into it. Your app will:
1. Use the HUAWEI Ads SDK to load a roll ad.
2. Customize the style of the roll ad.
3. Display the roll ad.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Push Kit

Speech date

Oct 23

Introduction

Push Kit is a messaging service that helps you establish a cloud-to-device messaging channel. After integrating Push Kit, you can send messages to your apps on user devices in real time. This helps you maintain closer ties with users and increases user awareness of and engagement with your apps.

Challenge

In this codelab, you will obtain a Push Kit token, call the APIs of Push Kit to send a test message based on the token, and receive the message in your app.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Awareness Kit

Speech date

Oct 24

Introduction

Awareness Kit provides your app with the ability to obtain contextual information, including users' current time, location, behavior, headset status, and nearby beacons. This allows your app to gain insight into a user's current situation more efficiently, helping you deliver a smarter and more personalized user experience.

Challenge

In this codelab, you will create a demo app that integrates Awareness Kit.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Analytics Kit

Speech date

Oct 24

Introduction

Analytics Kit features a rich selection of analysis models to help you understand user behavior and gain in-depth insights into users, products, and content. This enables you to carry out data-driven operations and make informed decisions about app marketing and product optimization.
Analytics Kit implements the following functions using data collected from apps:
1. Collects and reports custom events through coding.
2. Sets up to 25 user attributes.
3. Automatically collects events, calculates sessions, and predefines event IDs and parameters.

Challenge

In this codelab, you will learn how to call APIs to collect and report the following information to the Analytics Kit cloud platform: ROM version number, device model, app name, app package name, channel ID, app version number, operating system version, system language, manufacturer, screen width, screen height, and operation time (some of the listed information is automatically collected by internal APIs of the Analytics SDK). Analytics Kit will then conduct big data analytics based on the collected information.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Map Kit

Speech date

Oct 23

Introduction

The Map SDK provides a set of APIs for map development in Android. The map data covers most countries and regions outside the Chinese mainland, and supports multiple languages. Map Kit uses the WGS 84 GPS coordinate system, which can meet most map development requirements outside the Chinese mainland. You can easily add map-related functions in your Android app, including:
1. Map display: Displays features such as buildings, roads, water systems, and Points of Interest (POIs).
2. Map interaction: Controls the interaction gestures and buttons on the map.
3. Map drawing: Adds map elements such as location markers, map layers, overlays, and various shapes.

Challenge

In this codelab, you will use the Map SDK to develop an app that displays a map.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Site Kit

Speech date

Oct 23

Introduction

The Site SDK provides your app with place search services, providing users with the ability to quickly find interesting places to visit. Site Kit provides the following core capabilities which help you to quickly build apps that allow your users to explore the world around them:
1. Keyword search: Returns a list of places based on keywords entered by the user.
2. Nearby place search: Searches for nearby places based on the user's current location.
3. Place detail search: Searches for details about a place.
4. Place search suggestion: Returns a list of suggested places.

Challenge

In this codelab, you will learn how to create the following kinds of apps:
1. A place search app, which can be used to search for place details and nearby places.
2. An app that integrates both the Map SDK and Site SDK to display search results on a map.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Location Kit

Speech date

Oct 23

Introduction

Location Kit combines the GNSS, Wi-Fi, and base station location functionalities into your app to build up global positioning capabilities, allowing you to provide flexible location-based services for global users. In this codelab, you will learn how to call the capabilities of Location Kit to create an Android app (codelab app).

Challenge

In this codelab, you will create an app that obtains device location information.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Keyring

Speech date

Oct 24

Introduction

Keyring stores user authentication credentials on users' devices and shares them among different apps and app versions across different platforms, helping you build a seamless sign-in experience for your Android apps, quick apps, and web apps.

Challenge

In this codelab, you will develop two simple Android apps: appOwner and appShared. The two apps can do the following:
1. appOwner creates a credential and shares it to appShared.
2. appShared can obtain the credential shared from appOwner, display the credential content, and modify the credential content to generate a new one.
3. appOwner can modify the credential content.
4. After appOwner deletes the credential, appShared cannot find the credential.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Video Editor Kit

Speech date

Oct 24

Introduction

Video Editor Kit helps you quickly and easily develop video editing apps. This one-stop toolkit offers functions that include video import and export, editing, and rendering, as well as a rich array of special effects, filters, and stickers that allow users to personalize their videos. Its powerful, intuitive, and open APIs make app creation easier than ever.

Challenge

In this codelab, you will build a video editing app through the demo project.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Audio Editor Kit

Speech date

Oct 24

Introduction

Audio Editor Kit provides capabilities that facilitate efficient development of audio editing apps. Integrating this kit is easy, after which you can equip your app with functions covering the whole audio processing flow, from audio import to editing to export. With its open, powerful, yet easy-to-use APIs, the kit enables you to develop audio-related functions as needed, efficiently and conveniently.

Challenge

In this codelab, you will build an audio editing app through the demo project.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

ML Kit

Speech date

Oct 24

Introduction

ML Kit provides a face detection service, which detects a user's facial features, including facial contours and angles, as well as positions of the eyebrows, eyes, nose, mouth, and ears on the face, and then returns the data to your app.

Challenge

In this codelab, you will create a demo app for face detection.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HiAI Foundation

Speech date

Oct 23

Introduction

HUAWEI HiAI Foundation API is an AI computing library for the mobile computing platform, which is designed to help developers build AI apps for mobile devices with unprecedented ease. It provides more than 300 operators, features industry-leading model compatibility, and supports Huawei MindSpore, TensorFlow, Caffe, ONNX, AndroidNN, PaddleLite, MNN, and TNN, as well as heterogeneous computing of multiple computing units in the chip. HUAWEI HiAI Foundation provides developers with a range of ultra-efficient tool chains, such as model quantization, model conversion, performance optimization, and maintenance and testing, facilitating a high-performance, low-power computing environment that meets a wide range of needs.

Challenge

Based on the TensorFlow Mobilenetv2 model, you will complete the entire process of model conversion, code integration, and NPU computing, to build an Android app that uses the NPU computing capability to identify the image category.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

3D Modeling Kit

Speech date

Oct 23

Introduction

3D Modeling Kit provides two capabilities, material generation and 3D object reconstruction, to help users create 3D content more efficiently and at a lower cost.

Challenge

In this codelab, you will use the demo project to call open APIs of 3D Modeling Kit to experience two capabilities: material generation and 3D object reconstruction.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

AR Engine

Speech date

Oct 24

Introduction

HUAWEI AR Engine is a platform for building augmented reality apps on Huawei smartphones. WorldAR is a subsystem of the HUAWEI AR Engine and enables your app to:
1. Support motion tracking, so that the device can perceive and track its location and angle relative to the real world.
2. Understand the surrounding environment, so that the device can detect and identify the size and location of various planes (such as a table or wall).
3. Estimate the illumination of the environment.

Challenge

In this codelab, you will create an app that is able to scan the surrounding environment using the camera, identify planes, place a virtual object on a plane, and allow users to select and drag the object.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Scene Kit

Speech date

Oct 23

Introduction

Scene Kit is a lightweight 3D graphics rendering service, which provides you with advanced descriptive APIs.

You can equip your app with this service by integrating its fine-grained graphics SDK or scenario-based graphics SDK.

The fine-grained graphics SDK provides a rich selection of graphics APIs, which you can integrate into your app as needed to help you develop specific functions.
The scenario-based graphics SDK combines a set of easy-to-use APIs, which you can directly integrate into your app with little coding to implement specific functions.

Challenge

In this codelab, you will integrate Scene Kit and use the demo project to experience the 3D rendering capabilities that Scene Kit provides for different scenarios.

Using the demo project, you will experience two SDKs:
1. Fine-grained graphics SDK: Create a SceneKit class, and then perform necessary tasks, such as loading resources, playing animations, and adding gesture processors, to create an app that can display 3D animations.
2. Scenario-based graphics SDK:
a. In common scenes, Scene Kit loads skybox textures to help make the scene feel larger than it actually is. Scene Kit uses physically based rendering (PBR) to apply realistic lighting to 3D materials, which can also be resized and rotated as needed.
b. In common AR scenes, Scene Kit detects planes in real-life environments and places virtual objects onto the planes. The kit also allows you to select the objects and move, resize, and rotate them.
c. In face-related AR scenes, Scene Kit detects and identifies human faces and swaps them with 3D cartoon ones.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

CG Kit

Speech date

Oct 23

Introduction

HMS Core Computer Graphics (CG) Kit introduces CG Rendering Framework, a Vulkan-based high-performance rendering framework. The framework consists of the physically based rendering (PBR) material, model, texture, light, and component subsystems. It is specifically designed with the features and development details of the Huawei device development kit (DDK) in mind in order to provide the best possible 3D rendering capabilities on Huawei devices. In addition, the framework supports custom software development, which enables easier and more efficient app development.
To use this kit, you need to:
1. Register a developer account on HUAWEI Developers and create an app.
2. Use Android Studio to create a project and integrate the SDKs of CG Kit.
3. Call and debug CG Kit APIs. For details, please refer to CG Kit Development Guide.

Challenge

In this codelab, you will call HMS Core Computer Graphics (CG) Kit APIs through the provided demo project to:
1. Load an OBJ model.
2. Load a PNG texture.
3. Try out the PBR material rendering effect.
4. Experience the lighting effect with the directional light and point lights.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HMS Toolkit

Introduction

HMS Toolkit is an IDE plugin that provides all the tools required for developing and releasing HMS Core-integrated apps in Android Studio. You can use it to create, code, convert, debug, test, and release your apps, for a more productive and cost-effective development process.

Challenge

In this codelab, you will use HMS Toolkit to integrate Push Kit into your app so that it can receive a data message:
1. Install HMS Toolkit.
2. Configure the development environment.
3. Use SmartCoder to complete coding for receiving a data message.
4. Use Cloud Debugging to debug your app on a remote real device.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Auth Service

Speech date

Oct 24

Introduction

Auth Service provides cloud services and an SDK to help you quickly build a secure and reliable user authentication system for your app. It supports multiple authentication modes and is closely integrated with other serverless services, allowing you to effectively protect user data by defining simple rules.

Challenge

In this codelab, you will build an Android app that integrates Auth Service to authenticate sign-ins. Your app will allow users to:
1. Sign in anonymously or using a mobile number.
2. Link their accounts.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Cloud Functions

Speech date

Oct 24

Introduction

Cloud Functions enables serverless computing. It provides Function as a Service (FaaS) capabilities to simplify app development and O&M so your functions can be implemented more easily and your service capabilities can be built more quickly.

Challenge

In this codelab, you will build a function that can use Cloud Functions to interact with your app. The process includes:
1. Creating a function of calculating a Chinese zodiac sign by year in AppGallery Connect.
2. Testing the new function.
3. Calling the new function in your app, and entering a year to obtain the corresponding Chinese zodiac sign.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Cloud DB (Android)

Speech date

Oct 24

Introduction

Cloud DB provides data synergy management capabilities between device and cloud, unified data models, and various data management APIs. Cloud DB helps ensure data availability, reliability, consistency, and security, supports offline app operations, and allows developers to quickly develop apps that feature device-cloud and multi-device synergy.

Challenge

In this codelab, you will create an Android app that integrates AppGallery Connect Cloud DB, allowing app data to be added, modified, deleted and synchronized between the device and cloud.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Cloud Storage(Android)

Speech date

Oct 24

Introduction

Cloud Storage is scalable and maintenance-free. By integrating the Cloud Storage SDK into your app, you can store high volumes of data such as images, audio, videos, and other data generated by your users to the cloud as well as download such data from the cloud.

Challenge

In this codelab, you will create an app that integrates Cloud Storage capabilities and ensure that your app can allow users to upload a file to the cloud and download it to a local directory by calling APIs.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

App Messaging (Android)

Speech date

Oct 24

Introduction

App Messaging allows you to push targeted messages to active users to encourage them to use key app functions. For example, you can send in-app messages to encourage users to subscribe to certain services, provide hints for a difficult game level, or inform them of special discounts for a particular product.

Challenge

In this codelab, you will build an app that integrates App Messaging. The app will display a message preconfigured in AppGallery Connect in a custom message display box.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Remote Configuration (Android)

Speech date

Oct 24

Introduction

Remote Configuration allows you to modify the functions and appearance of your app online without requiring users to update the app.
Remote Configuration provides cloud-based services, a console, and a client SDK. By integrating the client SDK, your app can periodically fetch parameter values released on the console to modify the app's functions and appearance.

Challenge

In this codelab, you will build an app that can use AppGallery Connect Remote Configuration to configure the app's UI text. Your app will be able to:
1. Change the text and its boldface status by defining parameters in Remote Configuration.
2. Localize the greeting based on the system language.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

App Linking (Android)

Speech date

Oct 24

Introduction

App Linking allows you to create cross-platform links that can be opened by users. You can use these links to direct users to promotional information or native app content that they can share with others. You can create App Linking links and send them to users, or allow users to share links dynamically generated in your app. Anyone who receives a link can tap it to access the linked content even if they have not installed your app.

Challenge

In this codelab, you will build an Android app that integrates App Linking. Your app will be able to:
1. Implement the App Linking function in your app.
2. Use App Linking to create a long link or short link.
3. Share a created link on an Android device.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

APM

Speech date

Oct 24

Introduction

App Performance Management (APM) provides you with minute-level app performance monitoring capabilities. With the APM SDK, you can quickly integrate APM into your app without having to write any code. APM allows you to view and analyze app performance data collected by APM in AppGallery Connect to help you monitor and analyze the performance of your app in detail, quickly and accurately rectify possible performance issues, and continuously improve user experience.

Challenge

In this codelab, you will build an app that integrates APM. In addition, you can manually trigger network requests to test whether APM can monitor network performance and learn how to view and analyze app performance problems.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Crash (Android)

Speech date

Oct 24

Introduction

The Crash service is a lightweight crash analysis service, which you can quickly integrate into your app through the Crash SDK, without needing to write code. Once integrated, the SDK will automatically collect crash data and report the data to AppGallery Connect when your app crashes, allowing you to analyze the stability of your app by version, quickly locate the causes of crashes, and evaluate the impact of crashes.

Challenge

In this codelab, you will build an app that integrates the Crash service and manually trigger a crash to test the service.
You will also learn how to customize your crash report by configuring custom user IDs, recording custom logs, and defining custom key-value pairs.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HUAWEI VR SDK

Introduction

HUAWEI VR SDK for Unity (HVR SDK for short) is an SDK platform provided for developers of HUAWEI VR glasses.
By integrating the HVR SDK into Unity, you can quickly set up a VR platform for developing apps and games for HUAWEI VR glasses and HUAWEI mobile phones.

Challenge

In this codelab, you will:
1. Create a Unity project and import the HVR SDK.
2. Add a HUAWEI VR camera in a scene.
3. Add a HUAWEI VR controller to a scene.
4. Make the UI respond to the controller ray collision detection.
5. Build the APK.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HUAWEI AR Engine

Speech date

Oct 24

Introduction

HUAWEI AR Engine is an engine for building augmented reality (AR) apps for Android smartphones. It enables your app to provide a brand new visually interactive user experience by bridging the virtual and real worlds.

Challenge

In this codelab, you will:
1. Implement face mesh color change when opening the mouth, through the AR Engine Face AR demo project.
2. Implement the following based on the AR Engine World AR demo project:
a. Touch the plane to add a 3D AR model (up to two models can exist at the same time).
b. Touch the merge button to merge the two AR models into one, the coordinates of the new model being the middle position of the two original models.
c. Perform the above operations several times, and detach the model after it is removed.

Learn more >

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Quick App

Speech date

Oct 24

Introduction

Quick apps are a new form of installation-free apps developed based on industry standards formulated by the Quick App Alliance - an alliance of several large mobile phone manufacturers in China. A quick app can be distributed to all mobile phones that support quick app standards without adaptation.

Challenge

In this codelab, you will develop a browser app that has the following functions:
1. Provides an input bar for users to enter a URL and go to the target web page, or enter search keywords and view the Google search results.
2. Redirects a user to a web page when the user uses your browser to scan a QR code.
3. Saves the currently opened address when a user exits the browser and displays this page when the user opens the browser again.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HUAWEI Research

Speech date

Oct 24

Introduction

HUAWEI Research provides an open framework for one-stop services such as simplified access, smart device data collection, big data analysis, and close-loop intervention, enabling developers to improve their research efficiency and quickly create innovative apps and solutions.

Challenge

With HUAWEI Research, you can quickly create a health research app with the following functions:
1. Connect to HUAWEI WATCH GT 2 Pro to collect ECG data in real time and display the data in a graph.
2. Identify health indicators in photos of health check reports.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Petal Kids Code

Speech date

Oct 23

Introduction

Petal Kids Code is an AI-powered educational platform for children and teenagers, which leverages Huawei's unique strengths and incorporates HarmonyOS devices, HUAWEI Mobile Services, and various third-party devices and services. It also provides a unified service access framework, allowing partners to easily access the Petal Kids Code system and help build a multi-system smart education platform for all scenarios.

Challenge

Theme: Imagine AI Life
Focus on the theme Imagine AI Life and use Petal Kids Code to develop innovative apps that solve actual problems in daily life and improve quality of life based on intelligent life devices and cloud services.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

One-Time Development for Multi-Device Deployment

Speech date

Oct 23

Introduction

The ACE UI programming framework provides a multi-device UI infrastructure with a wide array of features, including dynamic layout, polymorphic components, and standardized interactions. These features can be used to accelerate app development for a diverse range of devices, including phones, tablets, and watches.

Challenge

1. Open the sample app.
2. Use the atomic layout methods to add polymorphic components. Use at least two containers, as well as at least three basic components. Make sure that the GUI effects are consistent across different devices.
3. Check how one-time development for multi-device deployment works on the phone, tablet, TV, and emulator.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Declarative UI Programming Paradigm

Introduction

The ACE UI programming framework provides a streamlined UI programming paradigm, including pseudo-natural language UI structure descriptions, as well as a wide range of controls and dynamic effects. When used with IDE's real-time, multi-dimensional, and multi-device preview capabilities, this framework can make UI development much easier and more efficient.

Challenge

1. Open the sample app.
2. On the declarative UI, add at least three components and add dynamic effects as well as the status change feature for these components.
3. Preview, build, and debug the application in the IDE.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Agent-Powered Scheduled Reminders

Introduction

You can use the provided API to create scheduled reminders for countdown timers, calendar events, and alarm clocks for your app. When the created reminders are published, the timing and pop-up notification functions of the app will be performed by the system service agent in the background, even when the app is frozen or exits.

Challenge

1. Open the sample app.
2. Use the provided API to set the reminder content to the agent reminder service on the OS.
3. On the phone, preview the effects as follows: Power off the phone, and check whether the reminder goes off as expected.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Hassistant

Speech date

Oct 23

Introduction

Hassistant helps a myriad of applets migrate to the HarmonyOS ecosystem in a number of different ways, including source code migration, guidance based on migration reports, and HarmonyOS feature support.

Challenge

1. Use Hassistant to migrate the source code of the sample applet project, and generate an app within the HarmonyOS ACE JS framework.
2. In DevEco Studio, preview and debug the generated app. With regard to the part that fails to be migrated, follow the instructions provided in the migration report.
3. After secondary development is complete, preview how the app looks on the phone.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Board Porting

Speech date

Oct 23

Introduction

Porting a development board requires a high technical barrier of entry, and is not as intuitive as app development. This codelab walks you through the process of porting a development board, with easy step-by-step descriptions.

Challenge

1. Port and complete the adaption of the minimum system of a third-party development board.
2. Build and burn the software.
3. Start the development board.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

HDF-WLAN Adaptation

Introduction

Developing underlying drivers requires a high technical barrier of entry, and is not as intuitive as app development. This codelab illustrates how to implement WLAN connections and data transmission, by using a Hi3881 chip in the HDF-WLAN framework via command line operations.

Challenge

Modify the WLAN core code to implement the following:
1. Scan the WLAN list on the development board.
2. Initiate WLAN to connect to a custom hotspot and ping the hotspot.
3. Share a hotspot, use another device to connect to this hotspot, and ping the hotspot.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

JS Pedometer Service Widget

Introduction

A service widget is a UI component that is used to present important information or operations for a Feature Ability (FA). It facilitates quick access to a desired app service, without requiring the corresponding app to be opened. This codelab shows you how to develop a pedometer FA service widget in HarmonyOS, by combining a pedometer and the JS UI.

Challenge

1. Open the sample app.
2. Implement the service widget layout in the HML code.
3. Process the sensor data to update service widget.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Custom Liquid Layout

Introduction

Follow the developer guide and corresponding documents to complete the component layout and data adding logic, and develop a demo for the JS liquid layout.

Challenge

1. Open the sample app.
2. Implement the function of entering historical records.
3. Lay out child components.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Shopping App

Introduction

HarmonyOS provides a wide range of different components, each of which incorporates data and methods for implementing independent visible and interactive functional units. This means that you only need to focus on the implementation logic, resulting in a dramatically reduced development workload. This codelab uses a set of JS UI components to illustrate how to develop a simple HarmonyOS shopping app.

Challenge

1. Open the sample app.
2. Implement the following scenario: When a user clicks any offering on the offering browsing page, the offering details page is displayed.
3. Use the <marquee> component to display scrolling text in a single line.
4. Use the <picker> component to implement province and city association.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

JS Movie Service Widget

Introduction

A service widget is a UI component that is used to present important information or operations for a Feature Ability (FA). It provides users with direct access to a desired app service, without requiring them to open the app. This codelab shows a movie service widget in 2 x 2 and 2 x 4 layouts, the movie home page (movie rankings), and the movie details page. You'll learn how to periodically refresh service widgets, use callbacks for proactive refresh, and redirect to the movie details page by using parameters, so that you can develop advanced service widgets on your own.

Challenge

1. Open the sample app.
2. Implement a service widget in the 2 x 4 layout.
3. Implement the following scenario: When a user clicks a movie on the movie home page, the corresponding details page is displayed.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Transition Animation

Introduction

The ETS UI components provide a wealth of different common styles. This codelab shows you how to use the various transition styles, including page transition, shared element transition, and service widget transition styles.

Challenge

1. Open the sample app.
2. Implement a page transition style.
3. Implement a service widget transition style.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Database

Introduction

Distributed Data Service (DDS) provides a capability for storing data across different devices. By calling the APIs of this service, your apps will be able to save data to distributed databases.

Challenge

1. Open the sample app.
2. Write a simple book management app, with the UI showing the name and number of books.
3. Implement the functions to add and delete books.
4. Call the distributed database API to share the book management data between different devices.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Image Editing Template

Introduction

This codelab walks you through how to use the built-in image editing template for DevEco Studio, which provides a framework for developing an image editing module on your own. Just by adding custom image editing algorithms according to this framework, you'll be able to substantially reduce the code volume. The image editing template consists of two parts: UI and image editor.
The template UI provides the design reference for image editing pages, as well as a sample project for HarmonyOS UI development. The image editor provides the image editing framework and two sample image editing functions.

Challenge

1. Open the sample app.
2. Implement the built-in image cropping function.
3. Modify the color matrix in the paint.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Windmill

Introduction

HarmonyOS provides a wide range of different components, each of which incorporates data and methods for implementing independent visible and interactive functional units. This means that you only need to focus on the implementation logic, resulting in a dramatically reduced development workload. This codelab uses the <slider> and <image> components to implement an adjustable windmill animation, giving you a sense of how to use the basic JS UI components.

Challenge

1. Open the sample app.
2. Use the component to implement the windmill effect.
3. Use the component to implement the windmill rotation effect.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Game Authentication

Introduction

This codelab uses the hopping and distributed scheduling capabilities provided by HarmonyOS to implement a game app with the kids mode. Hop the service from a phone to an authorized device. After the authorization is given, the game starts: Collide the images of the same shape to form a new image till the HarmonyOS logo is formed.

Challenge

1. Open the sample app.
2. Configure and apply for related permissions to implement the distributed capability.
3. Call HarmonyOS APIs to implement the distributed list.
4. Send the authentication information between devices.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Email Editing

Introduction

This codelab implements cross-device email editing and attachment management based on the hopping and distributed file service capabilities. With it, users can edit emails on the go, and simply hop the email draft to their tablet upon coming home.

Challenge

1. Open the sample app.
2. Hop the data on the email editing page from a phone to a tablet.
3. Read and write the distributed file data. Touch the attachment button to view the content of the distributed file directory.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Video Player

Introduction

This codelab demonstrates how to use the distributed collaboration capability and IDL inter-process communications provided by HarmonyOS to hop a video being played to other devices, within the distributed environment. In addition, the source device can be used to control the video on the collaborative devices.

Challenge

1. Open the sample app.
2. Use PageSlider to play ads sequentially.
3. Use the HarmonyOS IDL API to connect the local device to a peer device.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Sketchpad

Introduction

The distributed sketchpad is implemented by using a distributed data service and a distributed device startup and connection. This feature allows the operations on the sketchpad on each device to be synchronized to all connected devices in real time.

Challenge

1. Open the sample app.
2. Use the distributed scheduling capability to start the sketchpad FA of another device.
3. Undo the note on one device, and view the effect on the other devices.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Distributed Map Navigation

Introduction

This codelab demonstrates how to hop map navigation information between a phone, head unit, and wearable, using the following scenario: Search for the destination on a phone and start navigation. When getting on the car, touch the Hop button on the phone. The navigation is hopped to the in-vehicle navigator. When getting off the car, touch the Hop button on the in-vehicle display. The navigation is hopped to your watch and phone. The messages on the watch direct you to the destination for the last mile on foot.

Challenge

1. Open the sample app.
2. Obtain the current location and load the map.
3. Generate a route planning request based on the specified start point and end point.
4. Hop the route data from a phone to an in-vehicle navigator.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Video Codec

Introduction

This codelab shows you how to use the camera to capture preview frames and convert them into raw video data, and utilize the HarmonyOS video decoding capability to play preview images.

Challenge

1. Open the sample app.
2. Use the codec to encode the YUV data captured by the camera.
3. The encoding callback returns the data of the custom encoding format. Use the codec to play the video source.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Huawei Share OneHop with Aroma Diffuser

Speech date

Oct 23

Introduction

OneHop allows your app to quickly complete network registration and initiate a Feature Ability (FA), which enables users to share the app services seamlessly with a nearby recipient via Huawei Share. The result is much more accessible services and a dramatically improved user experience.

Challenge

1. Open the sample app.
2. Develop the aroma diffuser UI by using the OneHop template, with the icons and parameters tailored to meet your service needs.
3. On the phone, preview the effect and check whether the tailoring takes effect.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

Facial Recognition

Introduction

Biometric recognition can be used for identity authentication when unlocking a device, logging in to an app, making a payment, or in a number of other contexts.
In this codelab, you'll learn how to implement redirection to the simulated camera page after successful identity authentication.
More specifically, you call related APIs to check whether a device supports facial recognition, perform a facial recognition, and open the camera to implement the corresponding functions.

Challenge

1. Open the sample app.
2. Call the facial recognition APIs to implement facial recognition.
3. Upon successful facial recognition, start the simulated camera app on the device.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

AI General Text Recognition

Introduction

General text recognition uses Optical Character Recognition (OCR) as its core technology. OCR converts scanned text from bills, newspapers, books, manuscripts, and other printed materials into image information, and then uses text recognition technologies to convert the image information into computable input.
General text recognition is an AI capability that can be used to detect and recognize text from image sources, such as document recapture and street scape recapture. It can also be integrated into other apps to provide services like translation, or detection and recognition-based search results. This feature is ideal for text recognition in unique scenarios, such as when text is angled in images, when photos are taken with a skew shooting angle, as well as in complex lighting conditions, or when there is an intricate background.

Challenge

1. Open the sample app.
2. Display images in a list.
3. Call related APIs to implement text recognition, word segmentation, result display, etc.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.

App Multiplier

Speech date

Oct 24

Introduction

App Multiplier generates a dual-window display within an app, making it ideal for large-screen devices, such as foldable screens when unfolded, and tablets.
You can design an optimal dual-window experience based on your own service needs, for example, using the list + chat combination for a social app, or implementing dual-window price comparisons for a shopping app.

Challenge

1. Open the sample app.
2. Implement an app that displays a tourist attraction list.
3. Enable the app to display the information in two windows. The left window displays a scenic spot image, and the right window displays the details about the scenic spot.

Prize

Developers who complete the challenge will be awarded with a certificate and gift.