鸿蒙harmonyos next flutter混合开发之开发package

​​​​​​

  • 创建 package

    flutter create --template=package mypackage

package代码如下:

创建hello_world.dart

复制代码
///HelloWorld返回hello world 拼接param
class HelloWorld {
  String helloWorld(String param) => "hello world ${param}";
}

导出hello_world.dart

复制代码
library mypackage;

export 'src/hello_world.dart';
  • 创建flutter项目

    flutter create myflutter

  • myflutter pubspec.yaml中引入myPackage

    dependencies:
    flutter:
    sdk: flutter
    cupertino_icons: ^1.0.2
    mypackage:
    path: /Users/administrator/Desktop/workspace/mypackage

  • myflutter中调用

    import 'package:flutter/material.dart';
    import 'package:mypackage/mypackage.dart';

    void main() {
    runApp(const MyApp());
    }

    class MyApp extends StatelessWidget {
    const MyApp({super.key});

    复制代码
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: const MyHomePage(title: 'Flutter Demo Home Page'),
      );
    }

    }

    class MyHomePage extends StatefulWidget {
    const MyHomePage({super.key, required this.title});

    复制代码
    final String title;
    
    @override
    State<MyHomePage> createState() => _MyHomePageState();

    }

    class _MyHomePageState extends State {
    String helloWorld ="";

    复制代码
    @override
    void initState() {
      super.initState();
      helloWorld = HelloWorld().helloWorld("我是拼接的字符串!");
    }
    
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text("你好世界"),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text('${helloWorld}',style: TextStyle(fontWeight: FontWeight.bold,fontSize: 26),)
            ],
          ),
        ),
      );
    }

    }

  • 效果展示

相关推荐
传奇开心果编程9 小时前
【Flutter踩坑排雷】第25课:ScrollController 误用坑|跳转失效、监听泄漏与“控制器未附加”
android·flutter·ios·移动开发·跨平台·dart·声明式ui
程序员老刘13 小时前
Flutter 3.50更新,开发者应该关注什么?
flutter·ai编程·客户端
熊猫钓鱼>_>14 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
KevinChaos16 小时前
阳台小花园开发手记 05|HarmonyOS 7.0 互动卡片:动效进出衔接
华为·harmonyos
WHMONY16 小时前
大一独立开发鸿蒙原生 AI Agent:聊聊我为什么死磕端侧模型与“技术平权”
harmonyos
todoitbo18 小时前
把 K-Lite「什么都能播」搬上鸿蒙 PC:影匣播放器的 FFmpeg + libass 原生移植实录
华为·ffmpeg·harmonyos·鸿蒙
威哥爱编程19 小时前
模拟面试智能体开发实战 05:给面试官接上题库和检索,题目结构化、大纲可溯源,AI 不再凭印象出题
python·agent·harmonyos
威哥爱编程19 小时前
模拟面试智能体开发实战 06:答得好怎么追问、答得错怎么点破,追问引擎让面试官会深挖会纠错
python·agent·harmonyos
c2892480843s20 小时前
【鸿蒙心迹】深色模式适配实战:资源限定词、动态取色与一张图两个主题
移动开发·harmonyos·鸿蒙·arkui·深色模式
贾伟康21 小时前
HarmonyOS API 26 Navigation 连续栈操作:中间过程合并、最终状态与强制新实例
harmonyos·arkts·navigation·navpathstack·路由治理