ArkUI-X添加到现有Android项目中
2025-05-28 22:25:23
161次阅读
0个评论
本教程主要讲述如何利用ArkUI-X SDK完成Android AAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:
1.跨平台Library工程开发介绍
2.AAR在Android应用工程的集成方式
使用ACE Tools和DevEco Studio集成ArkUI-X SDK进行Android AAR开发
可以通过通过ACE Tools或DevEco Studio完成
ACE Tools
1.ace create 命令创建一个跨平台的library模版工程:
ace create [project] -t library
2.执行ace build aar命令,构建Android aar包。
ace build aar
DevEco Studio
1.创建一个ArkUI-X Library工程 2.通过执行Build APP(s)选项,构建出Android aar包
在应用工程初始化ArkUI-X
通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分
继承调用
package com.example.helloworld;
import com.example.myaar.MyApplication;
public class MainApplication extends MyApplication {
}
代理类调用
package com.example.helloworld;
import android.app.Application;
import android.content.res.Configuration;
import android.util.Log;
import ohos.stage.ability.adapter.StageApplicationDelegate;
public class MainApplication extends Application {
private StageApplicationDelegate appDelegate = null;
public void onCreate() {
super.onCreate();
this.appDelegate = new StageApplicationDelegate();
this.appDelegate.initApplication(this);
}
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.appDelegate == null) {
Log.e("StageApplication", "appDelegate is null");
} else {
this.appDelegate.onConfigurationChanged(newConfig);
}
}
}
打开ArkUI-X页面
使用Activity加载页面
在AndroidManifest.xml中配置Activity
<manifest xmlns:android="http://schemas.android.com/apk/res/android" >
<application
android:name="com.example.test_aar_demo.MainApplication" >
<activity android:name="com.example.myaar.EntryMainAbilityActivity"
android:windowSoftInputMode="adjustResize |stateHidden"
android:configChanges="orientation|keyboard|layoutDirection|screenSize|uiMode|smallestScreenSize" />
</application>
</manifest>
使用intent打开Activity页面
startActivity(new Intent(this, EntryMainAbilityActivity.class));
使用Fragment加载页面
在Activity中加载StageFragment
StageFragment stageFragment = new StageFragment();
stageFragment.setInstanceName("com.example.myaar:entry:EntryMainAbilityActivity:");
supportFragmentManager.beginTransaction().replace(R.id.content, it).commitNowAllowingStateLoss();
00
- 0回答
- 0粉丝
- 0关注
相关话题
- 鸿蒙-flutter-如何向现有鸿蒙项目中添加flutter模块
- ArkUI-X与Android消息通信
- ArkUI-X构建Android平台AAR及使用
- ArkUI-X与Android联动编译开发指南
- ArkUI-X在Android上使用Fragment开发指南
- ArkUI-X在Android平台动态化开发指南
- ArkUI-X与Android桥接通信之方法回调
- ArkUI-X通过Stage模型开发Android端应用指南(一)
- ArkUI-X通过Stage模型开发Android端应用指南(二)
- 鸿蒙ArkUI-X简介
- ArkUI-X案例解析
- 鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙
- 鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
- [HarmonyOS] 鸿蒙 初识 ArkUI-X
- ArkUI-X平台差异化