Ранние последователи разработки приложений для ОС Hongmeng

HarmonyOS

Открой Хунмэн, кто бы ни был такой любовью, это только любовь к ветру и луне

Впервые я узнал слово «Хунмэн» во вступительном вступлении к «Мечте о красных особняках». Хунмэн в классической культуре представляет хаотическое состояние до образования вселенной, что означает до сотворения мира.

Для мобильных разработчиков после React Native и Flutter есть еще одна платформа и фреймворк для мобильной разработки — разработка приложений для ОС Hongmeng. Как бывший мобильный разработчик, я решил попробовать.

среда разработки

Средой разработки приложений для ОС Hongmeng является DevEco Studio, которая основана на версии Jetbrain IntelliJ IDE с открытым исходным кодом, такой как Android Studio, поэтому интерфейс выглядит почти так же.

В отличие от Android, он предоставляет два языка разработки, Java и Javascript.В этой статье будет представлен только метод Java. Поскольку разработка Hongmeng очень похожа на Android, две мобильные платформы будут сравниваться и объясняться.

ссылка для скачивания:developer.harmony OS.com/talent/develop/…

Следует отметить, что на момент написанияDevEco Studio поддерживает только версию для Windows, если вы используете Mac, вы можете использовать только виртуальную машину Windows..

DevEco Studio图标

  • После загрузки установите SDK. На этом этапе вы можете без проблем скачать без научного доступа в Интернет. Гораздо лучше, чем Android

SDK

  • Код проекта, сгенерированный с помощью скаффолдинга

项目代码

Сборка приложения:

  • Инструменты: gradle, то же, что и Android, но Android продвигает сборки bazel.

виртуальная машина

В настоящее время Hongmeng, похоже, не предоставляет локальную виртуальную машину.Для отладки и запуска приложения необходимо зарегистрировать учетную запись разработки Huawei.Вы можете добавить «удаленную машину» в настройках управления виртуальной машиной.远程的鸿蒙TV虚拟机

файловая структура

项目文件结构

  • entryКаталог — это каталог модуля по умолчанию, аналогичный каталогу Android.appсодержание
  • entry/src/main/javaкод функции,src/testДля тестового кода, как в Android
  • entry/src/main/resourceКаталог ресурсов с Androidsrc/main/resпохожий
  • entry/src/main/config.jsonНастройте код или конфигурацию входа для проекта, аналогично файлу манифеста Android.AndroidManifest.xml, который описывает имя пакета, запрошенные системные разрешения, страницу входа и т. д.

некоторые концепции

  • Способность: аналогична активности Android, поэтому способность по умолчанию также называется MainAbility; в переводе на китайский язык она называется «способность».
  • AbilitySlice: вроде AndroidFragment, завершите макет привязки
  • AbilityPackage: Аналогичен классу приложений Android.
  • HVD: виртуальная машина Hongmeng, аналогичная AVD для Android.
  • HAP: расширение установочного пакета приложения Hongmeng, похожее на Android.apk

пример кода

  • MainAbility (Activity)
package cn.wangbaiyuan.blog;

import cn.wangbaiyuan.blog.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;

public class MainAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
    }
}
  • AbilitySlice (Fragment)
package cn.wangbaiyuan.blog.slice;

import cn.wangbaiyuan.blog.data.ListHolder;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;

public class MainAbilitySlice extends AbilitySlice {
    private ListHolder listHolder;

    @Override
    public void onStart(Intent intent) {
        listHolder = new ListHolder(this);
        setUIContent(listHolder.createComponent());
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}
  • Код макета для реализации левого и правого макета:
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
   xmlns:ohos="http://schemas.huawei.com/res/ohos"
   ohos:width="match_parent"
   ohos:height="56vp"
   ohos:orientation="horizontal">
 <Text
    ohos:id="$+id:left_content"
    ohos:width="match_content"
    ohos:height="match_content"
    ohos:weight="1"
    ohos:text_alignment="center"
    ohos:text_size="16fp"
    ohos:text="left"
 />

 <Text
    ohos:id="$+id:right_content"
    ohos:width="match_content"
    ohos:height="match_content"
    ohos:weight="1"
    ohos:text_alignment="center"
    ohos:text_size="16fp"
    ohos:text="right"
 />
</DirectionalLayout>

Суммировать

Согласно приведенному выше объяснению, для Android-разработчика практически не требуется затрат на обучение, чтобы начать работу с Hongmeng. Хотя в нем есть сильные следы Android, мы не можем предположить, что Hongmeng — это Android, мы можем только сказать, что он опирается на Android в дизайне системного API и дает мобильным разработчикам дружеское ощущение близости.

Как китаец, я эмоционально надеюсь, что разработка программного обеспечения в Китае может продолжать расти, и она может соответствовать Европе и Соединенным Штатам с точки зрения базовой технологии, структуры и атмосферы открытого исходного кода.