Flutter 框架跨平台鸿蒙开发 - 人生轨迹预测应用

欢迎加入开源鸿蒙跨平台社区:
https://openharmonycrossplatform.csdn.net

一、项目概述

运行效果图

1.1 应用简介

人生轨迹预测是一款基于决策分析的未来预测工具,旨在帮助用户通过当前的选择和状态,预测未来可能的人生走向。应用采用决策树和概率分析的方法,将复杂的人生选择可视化,让用户清晰地看到不同选择可能带来的不同结果。

应用以深邃的蓝紫色为主色调,营造神秘而富有科技感的氛围。用户可以输入当前的生活状态、职业选择、学习方向等信息,应用会生成多条可能的未来轨迹,并展示每条轨迹的概率、关键节点和可能遇到的挑战,帮助用户做出更明智的决策。

1.2 核心理念

人生充满了选择,每一个选择都可能开启一条全新的人生轨迹。蝴蝶效应告诉我们,微小的变化可能带来巨大的影响。人生轨迹预测的设计理念基于以下原则:

设计原则 理论基础 应用体现
决策树分析 决策理论 通过决策树展示不同选择的路径
概率预测 贝叶斯理论 计算不同结果的发生概率
路径可视化 图论 将人生轨迹以树状图展示
风险评估 风险管理 分析每个选择的风险和机遇

1.3 核心功能

人生轨迹预测
核心功能
当前状态输入
基本信息
职业方向
学习领域
生活状态
轨迹生成
决策树分析
概率计算
路径可视化
结果展示
多条轨迹
关键节点
风险提示
辅助功能
历史预测
轨迹对比
建议生成
分享功能

1.4 预测维度

应用从多个维度预测人生轨迹:

序号 维度名称 图标 描述 关键指标
1 事业发展 💼 职业成长路径 职位、收入、影响力
2 财务状况 💰 财富积累曲线 资产、投资、负债
3 健康状态 ❤️ 身心健康趋势 体能、心理、习惯
4 人际关系 👥 社交网络发展 朋友、家庭、人脉
5 学习成长 📚 知识技能积累 学历、技能、认知
6 生活质量 🏠 生活水平变化 居住、休闲、体验

1.5 技术栈

技术领域 技术选型 版本要求
开发框架 Flutter >= 3.0.0
编程语言 Dart >= 2.17.0
设计规范 Material Design 3 -
动画控制 AnimationController -
状态管理 setState -
目标平台 鸿蒙OS / Web API 21+

1.6 项目结构

复制代码
lib/
└── main_trajectory_prediction.dart
    ├── TrajectoryPredictionApp    # 应用入口
    ├── LifeDimension              # 人生维度枚举
    ├── CurrentState               # 当前状态模型
    ├── TrajectoryPath             # 轨迹路径模型
    ├── PredictionNode             # 预测节点模型
    ├── TrajectoryHomePage         # 主页面(底部导航)
    ├── _buildInputPage            # 输入页面
    ├── _buildPredictionPage       # 预测页面
    ├── _buildHistoryPage          # 历史页面
    └── _buildSettingsPage         # 设置页面

二、系统架构

2.1 整体架构图

Data Layer
Business Logic Layer
Presentation Layer
主页面

TrajectoryHomePage
输入页面
预测页面
历史页面
设置页面
基本信息表单
维度选择器
状态评估
轨迹树展示
节点详情
概率分析
建议生成
历史列表
轨迹对比
决策树生成器
概率计算引擎
路径分析器
建议生成器
CurrentState

当前状态模型
TrajectoryPath

轨迹路径模型
PredictionNode

预测节点模型
LifeDimension

人生维度枚举

2.2 类图设计

manages
generates
contains
evaluates
TrajectoryPredictionApp
+Widget build()
<<enumeration>>
LifeDimension
+String label
+String icon
+Color color
+String description
+career()
+finance()
+health()
+relationship()
+learning()
+lifestyle()
CurrentState
+String id
+int age
+String occupation
+String education
+Map<LifeDimension, int> dimensionScores
+List<String> currentChoices
+DateTime createdAt
TrajectoryPath
+String id
+String title
+String description
+double probability
+List<PredictionNode> nodes
+Map<LifeDimension, double> finalScores
+int yearsToAchieve
+List<String> risks
+List<String> opportunities
PredictionNode
+String id
+String title
+String description
+int year
+String milestone
+Map<LifeDimension, int> scoreChanges
+List<String> requiredActions
+List<String> possibleOutcomes
TrajectoryHomePage
-int _selectedIndex
-CurrentState _currentState
-List<TrajectoryPath> _predictions
-List<CurrentState> _history
+Widget build()
-_generatePredictions()
-_saveToHistory()

2.3 预测流程

结果页面 决策树 预测引擎 输入页面 用户 结果页面 决策树 预测引擎 输入页面 用户 输入当前状态 评估各维度得分 选择关键决策 提交状态数据 生成决策树 计算各路径概率 生成预测节点 返回轨迹路径 展示预测结果 显示多条轨迹 查看轨迹详情

2.4 决策树生成流程



输入当前状态
提取关键决策点
生成决策树根节点
遍历每个决策
创建分支节点
计算转移概率
生成年份节点
计算维度变化
是否达到终点?
递归生成子节点
计算最终得分
生成风险提示
生成机遇分析
返回完整轨迹


三、核心模块设计

3.1 数据模型设计

3.1.1 人生维度枚举 (LifeDimension)
dart 复制代码
enum LifeDimension {
  career('事业发展', '💼', Color(0xFF2196F3), '职业成长路径'),
  finance('财务状况', '💰', Color(0xFF4CAF50), '财富积累曲线'),
  health('健康状态', '❤️', Color(0xFFE91E63), '身心健康趋势'),
  relationship('人际关系', '👥', Color(0xFF9C27B0), '社交网络发展'),
  learning('学习成长', '📚', Color(0xFFFF9800), '知识技能积累'),
  lifestyle('生活质量', '🏠', Color(0xFF00BCD4), '生活水平变化');

  final String label;
  final String icon;
  final Color color;
  final String description;
}
3.1.2 当前状态模型 (CurrentState)
dart 复制代码
class CurrentState {
  final String id;                        // 唯一标识
  final int age;                          // 当前年龄
  final String occupation;                // 当前职业
  final String education;                 // 教育程度
  final Map<LifeDimension, int> dimensionScores; // 各维度得分(1-10)
  final List<String> currentChoices;      // 当前关键选择
  final DateTime createdAt;               // 创建时间
}
3.1.3 轨迹路径模型 (TrajectoryPath)
dart 复制代码
class TrajectoryPath {
  final String id;                        // 唯一标识
  final String title;                     // 轨迹标题
  final String description;               // 轨迹描述
  final double probability;               // 发生概率(0-1)
  final List<PredictionNode> nodes;       // 预测节点列表
  final Map<LifeDimension, double> finalScores; // 最终得分
  final int yearsToAchieve;               // 达成年限
  final List<String> risks;               // 风险列表
  final List<String> opportunities;       // 机遇列表
}
3.1.4 预测节点模型 (PredictionNode)
dart 复制代码
class PredictionNode {
  final String id;                        // 唯一标识
  final String title;                     // 节点标题
  final String description;               // 节点描述
  final int year;                         // 预测年份
  final String milestone;                 // 里程碑事件
  final Map<LifeDimension, int> scoreChanges; // 得分变化
  final List<String> requiredActions;     // 需要的行动
  final List<String> possibleOutcomes;    // 可能的结果
}
3.1.5 维度得分分布

25% 20% 20% 15% 10% 10% 人生维度重要性分布 事业发展 财务状况 健康状态 人际关系 学习成长 生活质量

3.2 页面结构设计

3.2.1 主页面布局

TrajectoryHomePage
IndexedStack
输入页面
预测页面
历史页面
设置页面
NavigationBar
输入 Tab
预测 Tab
历史 Tab
设置 Tab

3.2.2 输入页面结构

输入页面
基本信息卡片
维度评估卡片
关键选择卡片
生成预测按钮
年龄输入
职业选择
教育程度
事业得分
财务得分
健康得分
人际得分
学习得分
生活得分
选择列表
添加选择

3.2.3 预测页面结构

预测页面
轨迹概览
轨迹详情列表
对比分析
轨迹数量
最佳轨迹
平均概率
轨迹卡片
概率显示
节点时间线
风险提示
机遇分析
维度对比图
路径对比

3.3 预测算法设计



开始预测
加载当前状态
初始化决策树
生成根节点
遍历关键选择
创建选择分支
计算转移概率
生成年份节点
计算维度变化
应用随机扰动
是否达到预测年限?
递归生成下一层
计算最终状态
生成风险分析
生成机遇分析
返回完整轨迹

3.4 概率计算方法

dart 复制代码
double _calculateProbability(
  CurrentState currentState,
  List<String> choices,
  int targetYear,
) {
  double baseProbability = 1.0;
  
  // 基础概率调整
  for (var choice in choices) {
    baseProbability *= _getChoiceImpact(choice);
  }
  
  // 年龄因素
  int ageDiff = targetYear - DateTime.now().year;
  baseProbability *= pow(0.95, ageDiff);
  
  // 维度得分影响
  double avgScore = currentState.dimensionScores.values
      .reduce((a, b) => a + b) / 
      currentState.dimensionScores.length;
  baseProbability *= (avgScore / 10.0);
  
  // 随机扰动
  baseProbability += (Random().nextDouble() - 0.5) * 0.2;
  
  return baseProbability.clamp(0.0, 1.0);
}

四、UI设计规范

4.1 配色方案

应用采用深邃的蓝紫色为主色调,营造神秘而富有科技感的氛围:

颜色类型 色值 用途
主色 #673AB7 (Deep Purple) 导航、强调元素
渐变起始 #673AB7 头部渐变
渐变结束 #9C27B0 头部渐变
事业维度 #2196F3 蓝色
财务维度 #4CAF50 绿色
健康维度 #E91E63 粉红色
人际维度 #9C27B0 紫色
学习维度 #FF9800 橙色
生活维度 #00BCD4 青色

4.2 字体规范

元素 字号 字重 颜色
轨迹标题 20px Bold #FFFFFF
节点标题 16px SemiBold #000000
概率显示 32px Bold 主题色
维度标签 14px Medium #000000
描述文字 13px Regular #757575
提示文字 12px Regular #9E9E9E

4.3 组件规范

4.3.1 轨迹卡片
复制代码
┌─────────────────────────────────────────────────┐
│  🎯 创业成功路径                    概率: 35%   │
│                                                 │
│  通过技术创新和市场拓展,实现事业突破             │
│                                                 │
│  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  │
│                                                 │
│  📅 预计达成: 5-8年                             │
│                                                 │
│  💼 事业: 85分  💰 财务: 78分                   │
│  ❤️ 健康: 65分  👥 人际: 70分                   │
│                                                 │
│  ⚠️ 风险: 市场竞争、资金压力                    │
│  ✨ 机遇: 技术红利、政策支持                    │
│                                                 │
└─────────────────────────────────────────────────┘
4.3.2 预测节点
复制代码
┌─────────────────────────────────────────────────┐
│  ┌────┐                                         │
│  │2025│  晋升技术主管                           │
│  └────┘                                         │
│                                                 │
│  📌 里程碑: 首次团队管理经验                     │
│                                                 │
│  📊 维度变化:                                   │
│     💼 +15  💰 +10  👥 +8                       │
│                                                 │
│  🎯 需要行动:                                   │
│     • 提升管理能力                              │
│     • 扩展技术视野                              │
│     • 建立团队信任                              │
│                                                 │
└─────────────────────────────────────────────────┘
4.3.3 维度评估卡片
复制代码
┌─────────────────────────────────────────────────┐
│  💼 事业发展                              7/10  │
│                                                 │
│  ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░  │
│                                                 │
│  当前状态: 技术骨干,有晋升潜力                   │
│                                                 │
└─────────────────────────────────────────────────┘
4.3.4 概率仪表盘
复制代码
        ╭───────────────╮
       ╱                 ╲
      ╱                   ╲
     │                     │
     │       35%          │
     │                     │
      ╲                   ╱
       ╲                 ╱
        ╰───────────────╯
         发生概率

五、核心功能实现

5.1 决策树生成算法

dart 复制代码
List<TrajectoryPath> _generatePredictions(CurrentState state) {
  final paths = <TrajectoryPath>[];
  final random = Random();
  
  // 生成3-5条不同的轨迹
  int pathCount = 3 + random.nextInt(3);
  
  for (int i = 0; i < pathCount; i++) {
    final path = _generateSinglePath(state, i);
    paths.add(path);
  }
  
  // 按概率排序
  paths.sort((a, b) => b.probability.compareTo(a.probability));
  
  return paths;
}

TrajectoryPath _generateSinglePath(CurrentState state, int index) {
  final random = Random();
  
  // 基于当前状态生成概率
  double baseProbability = _calculateBaseProbability(state);
  
  // 添加随机扰动
  double probability = baseProbability + 
      (random.nextDouble() - 0.5) * 0.3;
  probability = probability.clamp(0.1, 0.9);
  
  // 生成预测节点
  final nodes = _generateNodes(state, index);
  
  // 计算最终得分
  final finalScores = _calculateFinalScores(state, nodes);
  
  // 生成风险和机遇
  final risks = _generateRisks(state, nodes);
  final opportunities = _generateOpportunities(state, nodes);
  
  return TrajectoryPath(
    id: 'path_${DateTime.now().millisecondsSinceEpoch}_$index',
    title: _generatePathTitle(state, index),
    description: _generatePathDescription(state, nodes),
    probability: probability,
    nodes: nodes,
    finalScores: finalScores,
    yearsToAchieve: nodes.length,
    risks: risks,
    opportunities: opportunities,
  );
}

5.2 节点生成算法

dart 复制代码
List<PredictionNode> _generateNodes(CurrentState state, int pathIndex) {
  final nodes = <PredictionNode>[];
  final random = Random();
  
  int currentYear = DateTime.now().year;
  int predictionYears = 5 + random.nextInt(6); // 5-10年
  
  for (int i = 1; i <= predictionYears; i++) {
    final node = _generateSingleNode(
      state,
      pathIndex,
      i,
      currentYear + i,
    );
    nodes.add(node);
  }
  
  return nodes;
}

PredictionNode _generateSingleNode(
  CurrentState state,
  int pathIndex,
  int nodeIndex,
  int year,
) {
  final random = Random();
  
  // 生成里程碑事件
  String milestone = _generateMilestone(state, nodeIndex, pathIndex);
  
  // 计算维度变化
  final scoreChanges = <LifeDimension, int>{};
  for (var dimension in LifeDimension.values) {
    int change = random.nextInt(11) - 3; // -3 to +7
    scoreChanges[dimension] = change;
  }
  
  // 生成需要的行动
  final actions = _generateRequiredActions(state, milestone);
  
  // 生成可能的结果
  final outcomes = _generatePossibleOutcomes(milestone);
  
  return PredictionNode(
    id: 'node_${year}_$nodeIndex',
    title: milestone,
    description: _generateNodeDescription(milestone, year),
    year: year,
    milestone: milestone,
    scoreChanges: scoreChanges,
    requiredActions: actions,
    possibleOutcomes: outcomes,
  );
}

5.3 概率计算引擎

dart 复制代码
double _calculateBaseProbability(CurrentState state) {
  double probability = 0.5; // 基础概率
  
  // 年龄因素
  if (state.age < 30) {
    probability += 0.1;
  } else if (state.age < 40) {
    probability += 0.05;
  }
  
  // 教育因素
  if (state.education == '硕士' || state.education == '博士') {
    probability += 0.1;
  }
  
  // 维度得分因素
  double avgScore = state.dimensionScores.values
      .reduce((a, b) => a + b) / 
      state.dimensionScores.length;
  probability += (avgScore - 5) * 0.05;
  
  // 选择因素
  for (var choice in state.currentChoices) {
    probability += _getChoiceBonus(choice);
  }
  
  return probability.clamp(0.1, 0.9);
}

double _getChoiceBonus(String choice) {
  final bonuses = {
    '持续学习': 0.08,
    '拓展人脉': 0.06,
    '投资理财': 0.05,
    '健康管理': 0.07,
    '创业创新': 0.1,
    '稳定发展': 0.04,
  };
  
  return bonuses[choice] ?? 0.0;
}

5.4 风险分析生成

dart 复制代码
List<String> _generateRisks(CurrentState state, List<PredictionNode> nodes) {
  final risks = <String>[];
  final random = Random();
  
  // 基于维度得分生成风险
  if (state.dimensionScores[LifeDimension.health]! < 6) {
    risks.add('健康问题可能影响发展');
  }
  
  if (state.dimensionScores[LifeDimension.finance]! < 5) {
    risks.add('财务压力可能限制选择');
  }
  
  // 基于节点生成风险
  for (var node in nodes) {
    if (node.scoreChanges[LifeDimension.career]! > 10) {
      risks.add('${node.year}年职业发展可能遇到瓶颈');
    }
  }
  
  // 添加随机风险
  final randomRisks = [
    '市场竞争加剧',
    '技术变革冲击',
    '经济环境波动',
    '人际关系变化',
    '家庭责任增加',
  ];
  
  if (risks.length < 3) {
    risks.add(randomRisks[random.nextInt(randomRisks.length)]);
  }
  
  return risks.take(3).toList();
}

5.5 机遇分析生成

dart 复制代码
List<String> _generateOpportunities(
  CurrentState state,
  List<PredictionNode> nodes,
) {
  final opportunities = <String>[];
  final random = Random();
  
  // 基于维度得分生成机遇
  if (state.dimensionScores[LifeDimension.learning]! > 7) {
    opportunities.add('学习能力带来竞争优势');
  }
  
  if (state.dimensionScores[LifeDimension.relationship]! > 7) {
    opportunities.add('人脉资源助力发展');
  }
  
  // 基于节点生成机遇
  for (var node in nodes) {
    if (node.scoreChanges[LifeDimension.career]! > 5) {
      opportunities.add('${node.year}年有重要发展机遇');
    }
  }
  
  // 添加随机机遇
  final randomOpportunities = [
    '行业红利期',
    '政策支持',
    '技术突破',
    '市场扩张',
    '合作伙伴',
  ];
  
  if (opportunities.length < 3) {
    opportunities.add(
      randomOpportunities[random.nextInt(randomOpportunities.length)]
    );
  }
  
  return opportunities.take(3).toList();
}

六、交互设计

6.1 预测生成流程

结果页面 预测引擎 输入页面 用户 结果页面 预测引擎 输入页面 用户 输入基本信息 评估各维度 选择关键决策 验证输入 点击生成预测 提交数据 生成决策树 计算概率 生成节点 返回轨迹 展示预测结果

6.2 轨迹查看流程



查看轨迹列表
选择轨迹
展开轨迹详情
查看节点时间线
查看维度变化
查看风险提示
查看机遇分析
是否对比其他轨迹?
选择对比轨迹
生成对比视图
分析差异
提供建议
保存预测结果

6.3 页面切换状态

生成预测
重新输入
保存结果
查看历史
返回输入
查看历史预测
设置
设置
设置
返回
输入页面
预测页面
历史页面
设置页面


七、预测场景示例

7.1 职业发展轨迹

场景: 28岁技术工程师,考虑创业

输入状态:

  • 年龄: 28岁
  • 职业: 技术工程师
  • 教育: 本科
  • 事业得分: 7/10
  • 财务得分: 6/10
  • 健康得分: 7/10
  • 人际得分: 6/10
  • 学习得分: 8/10
  • 生活得分: 6/10
  • 关键选择: 创业创新、持续学习

预测轨迹:

轨迹 概率 描述 达成年限
创业成功 35% 通过技术创新实现突破 5-8年
稳步发展 40% 在现有领域深耕成长 3-5年
转型突破 25% 跨领域发展获得成功 4-6年

关键节点:

  1. 2025年: 积累创业资源,建立团队
  2. 2027年: 产品上线,获得首批用户
  3. 2029年: 获得融资,扩大规模
  4. 2031年: 实现盈利,稳定发展

7.2 学习成长轨迹

场景: 25岁职场新人,计划考研

输入状态:

  • 年龄: 25岁
  • 职业: 初级职员
  • 教育: 本科
  • 学习得分: 7/10
  • 事业得分: 5/10

预测轨迹:

轨迹 概率 描述 达成年限
学术路线 30% 深造后进入研究领域 6-8年
职业提升 45% 学历提升助力职业发展 3-5年
跨界发展 25% 新领域开拓新机会 4-6年

八、扩展功能规划

8.1 后续版本规划

2024-01-07 2024-01-14 2024-01-21 2024-01-28 2024-02-04 2024-02-11 2024-02-18 2024-02-25 2024-03-03 2024-03-10 2024-03-17 2024-03-24 输入系统 预测引擎 结果展示 数据持久化 轨迹对比 建议生成 AI优化 社交分享 云端同步 V1.0 基础版本 V1.1 增强版本 V1.2 进阶版本 人生轨迹预测应用开发计划

8.2 功能扩展建议

8.2.1 AI优化预测

智能预测增强:

  • 基于大数据优化概率计算
  • 学习用户历史决策模式
  • 提供个性化建议
  • 动态调整预测结果
8.2.2 社交功能

社交互动机制:

  • 分享预测结果
  • 查看他人轨迹
  • 经验交流社区
  • 专家建议系统
8.2.3 数据可视化

可视化增强:

  • 3D轨迹展示
  • 动态时间线
  • 维度雷达图
  • 概率分布图

九、注意事项

9.1 开发注意事项

  1. 概率计算: 使用合理的概率模型,避免过于乐观或悲观

  2. 随机性: 添加适当的随机扰动,增加预测的多样性

  3. 数据验证: 验证用户输入的合理性,避免异常数据

  4. 性能优化: 预测生成可能耗时,需要优化算法效率

9.2 常见问题

问题 原因 解决方案
概率计算异常 得分范围错误 检查得分范围(1-10)
节点生成失败 状态数据缺失 检查必填字段
轨迹重复 随机种子相同 使用时间戳作为种子
性能缓慢 算法复杂度高 优化递归深度

9.3 使用建议

🔮 人生轨迹预测使用小贴士 🔮

预测仅供参考,未来掌握在自己手中

理性看待概率,不要过度依赖

结合实际情况,做出明智选择

持续学习成长,创造美好未来


十、运行说明

10.1 环境要求

环境 版本要求
Flutter SDK >= 3.0.0
Dart SDK >= 2.17.0
鸿蒙OS API 21+

10.2 运行命令

bash 复制代码
# 查看可用设备
flutter devices

# 运行到Web服务器
flutter run -d web-server -t lib/main_trajectory_prediction.dart --web-port 8131

# 运行到鸿蒙设备
flutter run -d 127.0.0.1:5555 lib/main_trajectory_prediction.dart

# 运行到Windows
flutter run -d windows -t lib/main_trajectory_prediction.dart

# 代码分析
flutter analyze lib/main_trajectory_prediction.dart

十一、总结

人生轨迹预测应用通过决策树分析和概率计算,帮助用户预测不同选择可能带来的未来走向。应用从事业、财务、健康、人际、学习、生活六个维度评估当前状态,生成多条可能的未来轨迹,并展示每条轨迹的概率、关键节点、风险和机遇。

核心功能涵盖状态输入、轨迹生成、结果展示三大模块。状态输入支持基本信息和维度评估;轨迹生成采用决策树算法,计算转移概率;结果展示以卡片和时间线形式呈现预测结果。

应用采用Material Design 3设计规范,以深邃的蓝紫色为主色调,营造神秘而富有科技感的氛围。通过本应用,希望能够帮助用户理性分析选择,做出更明智的决策,创造更美好的未来。

预测未来,把握现在


欢迎加入开源鸿蒙跨平台社区:

https://openharmonycrossplatform.csdn.net

相关推荐
世人万千丶2 小时前
开源鸿蒙跨平台深度解析:Flutter Pigeon 跨平台官方示例适配全流程与底层故障溯源
学习·flutter·华为·开源·harmonyos·鸿蒙系统
世人万千丶2 小时前
解决鸿蒙方向的Flutter框架版切换问题-当前最新版本3.35.8——工具切换与命令切换
学习·flutter·elasticsearch·华为·harmonyos·鸿蒙
2501_921930832 小时前
Flutter for OpenHarmony三方库适配实战:url_launcher URL启动器
flutter·openharmony
亘元有量-流量变现3 小时前
鸿蒙、安卓、苹果音频设备技术深度解析与开发实践
android·wpf·harmonyos·亘元有量·积分墙
世人万千丶16 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本五子棋游戏应用
学习·flutter·游戏·华为·harmonyos·鸿蒙
梁山好汉(Ls_man)16 小时前
鸿蒙_ArkTS解决Duplicate function implementation错误
开发语言·华为·typescript·harmonyos·鸿蒙
autumn200517 小时前
Flutter 框架跨平台鸿蒙开发 - 连连看游戏应用
flutter·华为·harmonyos
程序员老刘18 小时前
AI时代我们是否还需要学编程?丨《Flutter跨平台开发核心技巧与应用》新书上市啦
flutter·ai编程·客户端
浮芷.18 小时前
Flutter 框架跨平台鸿蒙开发 - flutter版本样式的美食菜谱应用
flutter·harmonyos·美食