Sucan 3def989a8b feat: 添加权限管理并增强导航功能
- 新增 PermissionManager 用于检查和请求 Temi 机器人权限
- 在 AndroidManifest 中声明所需的权限元数据
- 为 NavController 添加充电功能和改进的巡逻逻辑
- 扩展 MQTT 命令支持,包括充电和可配置巡逻
- 添加 Python 测试脚本用于 MQTT 流式文本测试
- 使用任务状态跟踪替代原有的接待模式标志
2026-03-12 16:37:59 +08:00
2026-03-10 12:12:00 +08:00
2026-03-10 12:12:00 +08:00
2026-03-10 12:12:00 +08:00
2026-03-10 12:12:00 +08:00
2026-03-10 12:12:00 +08:00

Temi 机器人应用开发与预览指南

本项目是一个基于 Temi SDK 的 Android 应用程序,包含主界面和网络 IP 设置功能。

1. 预览与运行环境

推荐工具Android Studio

由于 Android 应用依赖于复杂的构建系统 (Gradle) 和特定的运行时环境 (Android OS)无法像网页那样直接通过浏览器或简单的编辑器插件预览

最标准的开发和预览工具是 Android Studio (官方 IDE)。

Trae 的角色

Trae 非常适合编写代码、管理项目结构和进行逻辑开发。但为了查看应用的实际运行效果UI 和交互),你需要将代码编译成 APK 并安装到设备上,这通常需要 Android Studio 的配合。


2. 如何在另一台电脑上运行

步骤 1: 安装 Android Studio

请访问 Android Studio 官网 下载并安装最新版本。

步骤 2: 导入项目

  1. 打开 Android Studio。
  2. 选择 Open (打开项目)。
  3. 导航到本项目所在的文件夹 lzwcai-terminal-temi 并点击 OK。
  4. 等待 Android Studio 自动同步 Gradle 依赖(这可能需要几分钟,取决于网络)。

步骤 3: 运行应用 (两种方式)

方式 A: 连接 Temi 机器人 (强烈推荐)

Temi SDK 的很多功能(如语音、导航、跟随)依赖于机器人的硬件传感器。

  1. 确保 Temi 机器人已开启 开发者模式 (设置 -> 通用 -> 开发者选项)。
  2. 使用 USB 线(通常是 USB-A 转 USB-A 或通过背部接口)将电脑连接到 Temi。
  3. 或者使用 ADB over Wi-Fi (确保电脑和 Temi 在同一 Wi-Fi 下)。
  4. 在 Android Studio 顶部工具栏选择连接的设备,点击 Run (绿色三角形按钮)。

方式 B: 使用 Android 模拟器 (仅限 UI 预览)

如果你身边没有机器人,可以使用模拟器预览界面布局,但会报错或功能受限。

  1. 在 Android Studio 中点击 Device Manager 创建一个虚拟设备 (推荐 Pixel 系列API 30+)。
  2. 运行模拟器。
  3. 注意:由于模拟器没有 Temi 的系统服务,Robot.getInstance() 可能会导致崩溃或返回错误。
    • 提示:为了在模拟器上查看 UI你可能需要暂时注释掉 MainActivity.kt 中调用 Robot 的代码。

3. 项目结构说明

  • 主界面: app/src/main/java/.../MainActivity.kt
    • 包含日志显示和跳转设置的按钮。
    • 初始化 Robot SDK。
  • 设置界面: app/src/main/java/.../SettingsActivity.kt
    • 用于设置和保存网络 IP 地址。
  • 布局文件:
    • app/src/main/res/layout/activity_main.xml (主页布局)
    • app/src/main/res/layout/activity_settings.xml (设置页布局)

4. 常见问题

Q: 为什么在模拟器上闪退? A: 因为应用启动时会调用 Robot.getInstance(),而普通模拟器没有 Temi 的底层服务。

Q: Trae 可以装插件预览吗? A: 目前没有插件能直接在 Trae 内部完美模拟 Android 环境。建议使用 Trae 写代码,配合 Android Studio 或真机进行调试预览。

Description
No description provided
Readme 287 KiB
Languages
Kotlin 95.3%
Python 4.7%