Открой Хунмэн, кто бы ни был такой любовью, это только любовь к ветру и луне
Впервые я узнал слово «Хунмэн» во вступительном вступлении к «Мечте о красных особняках». Хунмэн в классической культуре представляет хаотическое состояние до образования вселенной, что означает до сотворения мира.
Для мобильных разработчиков после 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..
- После загрузки установите SDK. На этом этапе вы можете без проблем скачать без научного доступа в Интернет. Гораздо лучше, чем Android
- Код проекта, сгенерированный с помощью скаффолдинга
Сборка приложения:
- Инструменты: gradle, то же, что и Android, но Android продвигает сборки bazel.
виртуальная машина
В настоящее время Hongmeng, похоже, не предоставляет локальную виртуальную машину.Для отладки и запуска приложения необходимо зарегистрировать учетную запись разработки Huawei.Вы можете добавить «удаленную машину» в настройках управления виртуальной машиной.
файловая структура
-
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: вроде Android
Fragment
, завершите макет привязки - 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 и дает мобильным разработчикам дружеское ощущение близости.
Как китаец, я эмоционально надеюсь, что разработка программного обеспечения в Китае может продолжать расти, и она может соответствовать Европе и Соединенным Штатам с точки зрения базовой технологии, структуры и атмосферы открытого исходного кода.