找回密码
 立即注册
首页 业界区 业界 ArkUI-X添加到现有Android项目中

ArkUI-X添加到现有Android项目中

欤夤 前天 10:47
本教程主要讲述如何利用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模版工程:
  1. ace create [project] -t library
复制代码
2.执行ace build aar命令,构建Android aar包。
  1. ace build aar
复制代码
DevEco Studio

1.创建一个ArkUI-X Library工程
1.png

2.通过执行Build APP(s)选项,构建出Android aar包
2.png

3.png

在应用工程初始化ArkUI-X

通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分
继承调用
  1. package com.example.helloworld;
  2. import com.example.myaar.MyApplication;
  3. public class MainApplication extends MyApplication {
  4. }
复制代码
代理类调用
  1. package com.example.helloworld;
  2. import android.app.Application;
  3. import android.content.res.Configuration;
  4. import android.util.Log;
  5. import ohos.stage.ability.adapter.StageApplicationDelegate;
  6. public class MainApplication extends Application {
  7.     private StageApplicationDelegate appDelegate = null;
  8.     public void onCreate() {
  9.         super.onCreate();
  10.         this.appDelegate = new StageApplicationDelegate();
  11.         this.appDelegate.initApplication(this);
  12.     }
  13.     public void onConfigurationChanged(Configuration newConfig) {
  14.         super.onConfigurationChanged(newConfig);
  15.         if (this.appDelegate == null) {
  16.             Log.e("StageApplication", "appDelegate is null");
  17.         } else {
  18.             this.appDelegate.onConfigurationChanged(newConfig);
  19.         }
  20.     }
  21. }
复制代码
打开ArkUI-X页面

使用Activity加载页面

在AndroidManifest.xml中配置Activity
  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android" >
  2.      
  3.      
  4.      </application>
  5. </manifest>
复制代码
使用intent打开Activity页面
  1. startActivity(new Intent(this, EntryMainAbilityActivity.class));
复制代码
使用Fragment加载页面

在Activity中加载StageFragment
  1. StageFragment stageFragment = new StageFragment();
  2. stageFragment.setInstanceName("com.example.myaar:entry:EntryMainAbilityActivity:");
  3. supportFragmentManager.beginTransaction().replace(R.id.content, it).commitNowAllowingStateLoss();
复制代码
4.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册