91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙ArkUI-X跨平臺開發:【bility開發說明(Android平臺)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-21 10:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過Stage模型開發Android端應用指南

簡介

本文介紹將ArkUI框架擴展到Android平臺所需要的必要的類及其使用說明,開發者基于OpenHarmony,可復用大部分的應用代碼(生命周期等)并可以部署到Android平臺,降低跨平臺應用開發成本。

AndroidStudio配置

使用AndroidStudio所創建Android工程的PackageName需要與OpenHarmony工程的BundleName一致。

注: AndroidStudio:Android應用的開發工具。

ArkUI-X和Android平臺集成所用關鍵類

開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

應用工程Android邏輯部分的StageApplication

應用需要繼承arkui_android_adapter.jar包所提供的StageApplication。StageApplication用于初始化資源路徑以及加載配置信息,例如:

package com.example.myapplication;
import ohos.stage.ability.adapter.StageApplication;

public class HiStageApplication extends StageApplication {

}

應用工程Android邏輯部分的StageActivity

Activity需要繼承arkui_android_adapter.jar包所提供的StageActivity,StageActivity主要功能是將Android中Activity的生命周期與OpenHarmony中Ability的生命周期進行映射,例如:

package com.example.myapplication;
import ohos.stage.ability.adapter.StageActivity;

public class EntryMainAbilityActivity extends StageActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.setInstanceName("com.example.myapplication:entry:MainAbility:");
        super.onCreate(savedInstanceState);
    }
}

為了將Activity和ability進行關聯,需要重寫StageActivity中的onCreate事件,在super.onCreate(savedInstanceState)之前設置instanceName,規則如下:

bundleName:moduleName:abilityName:

其中bundleName的值來自于OpenHarmony應用中app.json5配置文件,moduleName、abilityName的值來自于OpenHarmony應用中的module.json5配置文件。

Ability與Activity對應規則

Android端應用內的Activity的packageName需要與Ability的bundleName一致。

Android端應用內的Activity的activityName組成規則:Ability的moduleName + Ability的abilityName + “Activity”。

示例如圖: stage_android

StageApplication初始化支持以下三種方式

通過繼承StageApplication的方式進行初始化

import ohos.stage.ability.adapter.StageApplication;

public class HiStageApplication extends StageApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

繼承Android原生Application方式,在onCreate方法中創建StageApplicationDelegate實例進行初始化

import android.app.Application;
import ohos.stage.ability.adapter.StageApplicationDelegate;

public class HiStageApplication extends Application {
    private StageApplicationDelegate appDelegate_ = null;

    @Override
    public void onCreate() {
        super.onCreate();
        appDelegate_ = new StageApplicationDelegate();
        appDelegate_.initApplication(this);
    }
}

在Activity中創建StageApplicationDelegate實例進行初始化

import android.app.Activity;
import ohos.stage.ability.adapter.StageApplicationDelegate;

public class EntryEntryAbilityActivity extends Activity {

    private StageApplicationDelegate appDelegate_ = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        appDelegate_ = new StageApplicationDelegate();
        appDelegate_.initApplication(this.getApplication());
        super.onCreate(savedInstanceState);
    }
}

通過原生Activity拉起Ability并傳遞參數

使用原生Activity拉起Ability時,需使用原生應用的startActivity方法,參數的傳遞需要通過Intent中的putExtra()進行設置,規則如下:

key值為params
value為json格式

{
    "params":[
        {
            "key":鍵,
            "type":參數類型值,
            "value":值
        },
        {
            ...
        }
    ]
}

支持的參數類型列表

參數類型HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿參數類型值
boolean1
int5
double9
string10

搜狗高速瀏覽器截圖20240326151547.png

示例代碼

public class EntryEntryAbilityActivity extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = new Intent();
        intent.setClass(this, EntryEntryAbilityTwoActivity.class);
        intent.putExtra("params",
                "{"params":[{"key":"bool","type":1,"value":"true"}," +
                "{"key":"double","type":9,"value":"2.3"}," +
                "{"key":"int","type":5,"value":"2"}," +
                "{"key":"string","type":10,"value":"test"}]}");
        startActivity(intent);
    }
}

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Android
    +關注

    關注

    12

    文章

    3973

    瀏覽量

    130282
  • 模型
    +關注

    關注

    1

    文章

    3521

    瀏覽量

    50441
  • 鴻蒙
    +關注

    關注

    60

    文章

    2620

    瀏覽量

    44063
  • OpenHarmony
    +關注

    關注

    29

    文章

    3854

    瀏覽量

    18637
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙ArkUI-X平臺開發:【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項目平臺應用開發者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構
    的頭像 發表于 05-21 17:39 ?2906次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發</b>:【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺開發:【SDK目錄結構介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發框架擴展到不同的OS平臺,比如Android和iOS
    的頭像 發表于 05-20 16:28 ?1239次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發</b>:【SDK目錄結構介紹】

    鴻蒙ArkUI-X平臺開發:【bility開發說明(iOS端)】

    本文介紹將ArkUI框架擴展到iOS平臺所需要的必要類及其使用說明開發者基于OpenHarmony,可復用大部分的應用代碼(生命周期等)并可以部署到iOS
    的頭像 發表于 05-21 14:35 ?1254次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發</b>:【<b class='flag-5'>bility</b><b class='flag-5'>開發</b><b class='flag-5'>說明</b>(iOS端)】

    ArkUI-X開發指南:【SDK配置和構建說明

    ArkUI-X SDK是ArkUI-X開源項目的編譯產物,可將ArkUI-X SDK集成到現有Android和iOS應用工程中,使開發者基于
    的頭像 發表于 05-25 16:48 ?3521次閱讀
    <b class='flag-5'>ArkUI-X</b><b class='flag-5'>開發</b>指南:【SDK配置和構建<b class='flag-5'>說明</b>】

    ArkUI-X平臺框架接入指南

    ArkUI平臺框架(ArkUI-X)進一步將ArkUI開發框架擴展到了多個OS
    發表于 05-18 18:21

    ArkUI-XAndroid平臺動態化開發指南

    本文介紹如何在Android平臺進行ArkUI-X動態化開發,包括動態化目錄規則及約束。 適用場景 動態化主要包括兩個典型場景: 場景1:框架動態化,為了降低應用ROM體積占用,及滿足
    發表于 06-15 23:33

    ArkUI-X平臺應用改造指南

    的HarmonyOS Next應用,配套ArkUI-X平臺框架,可以快速改造為平臺應用,縮短開發
    發表于 06-16 23:05

    ArkUI-X平臺技術落地-華為運動健康(一)

    開發工作量以及保證體驗一致性,對于運動健康App而言,顯得尤為重要。作為鴻蒙NEXT系統生態中的重要一員,ArkUI-X框架是我們平臺技術
    發表于 06-18 22:53

    ArkUI-X應用工程結構說明

    )并可以部署到相應的OS平臺,降低平臺應用開發成本。 應用工程目錄結構介紹 平臺應用工程目錄
    發表于 06-19 23:11

    資訊速遞 | ArkUI-X 預覽版已正式開源!

    OpenHarmony項目群技術指導委員會(以下簡稱“TSC”)-平臺應用開發框架TSG所孵化項目 —— ArkUI-X,近期已正式開源 ,開發
    發表于 08-11 16:10

    鴻蒙ArkUI-X平臺技術:【開發準備】

    本文檔適用于ArkUI平臺應用開發的初學者。通過開發環境搭建、應用工程創建、編譯和運行,熟悉ArkUI
    的頭像 發表于 05-24 10:40 ?992次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術:【<b class='flag-5'>開發</b>準備】

    鴻蒙ArkUI-X平臺技術:【開發初體驗】

    在DevEco Studio中導入ArkUI-X Sample,快速創建平臺工程。
    的頭像 發表于 05-17 15:54 ?1239次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b>技術:【<b class='flag-5'>開發</b>初體驗】

    鴻蒙ArkUI-X平臺開發:【 應用工程結構說明

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發框架擴展到不同的OS平臺,比如Android和iOS
    的頭像 發表于 05-19 21:05 ?957次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺</b><b class='flag-5'>開發</b>:【 應用工程結構<b class='flag-5'>說明</b>】

    鴻蒙ArkUI-X語言調用說明平臺差異化【Android、ios動態化】

    ArkUI-X支持動態化,使用者可以根據自己需要動態發布平臺內容,從而使平臺部分和宿主應用進行解耦。
    的頭像 發表于 05-23 14:38 ?1487次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b>語言調用<b class='flag-5'>說明</b>:<b class='flag-5'>平臺</b>差異化【<b class='flag-5'>Android</b>、ios動態化】

    ArkUI-X構建Android平臺AAR及使用

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開發,實現基于ArkTS的聲明式開發范式在android
    的頭像 發表于 06-12 22:45 ?225次閱讀
    主站蜘蛛池模板: 亚洲一级毛片中文字幕 | 日本成人免费观看 | 日本不卡视频 | a视频免费看 | 亚洲精品美女 | 欧美一级黄色录相 | 天堂资源在线官网资源 | 成人做视频免费 | 天堂w| 亚洲天天更新 | 国产精品视频网站你懂得 | 成人男女啪啪免费观看网站 | 91午夜剧场 | 在线91精品亚洲网站精品成人 | 日韩免费精品视频 | 天天摸天天躁天天添天天爽 | 欧美色图俺去了 | 特黄一级 | 日本a网站 | 国产视频国产 | 黄视频免费网站 | 国产成人精品曰本亚洲 | 欧美乱码视频 | 日韩毛片在线影视 | 亚洲 欧美 自拍 另类 | 免费在线观看a视频 | 国产夜夜爽 | 资源视频在线观看 | h视频在线观看免费网站 | 久久综合爱 | 在线观看精品国产福利片100 | 免费观看一级特黄欧美大片 | 成人精品亚洲人成在线 | 亚洲丁香婷婷 | 二级黄绝大片中国免费视频 | 韩国三级hd中文字幕久久精品 | 人人草人人射 | 四虎国产在线观看 | 色在线免费视频 | 网友偷自拍原创区 | 色婷五月综激情亚洲综合 |