ArkUI-X添加到现有Android项目中
【摘要】 本教程主要讲述如何利用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完成 ...
本教程主要讲述如何利用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();
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)