安卓AI虚拟女友项目开发的Android开发环境搭建
第五章:Android开发环境搭建与基础入门
5-1 项目讲解思路说明
本文是安卓AI数字虚拟人项目实战的第五章,开发安卓AI安卓版数字虚拟人的Android基础部分。
在本章中,我们将详细介绍如何搭建Android开发环境,包括Android Studio的安装与配置、模拟器的创建以及手机真机的连接调试。随后,我们将通过两个小节的内容,带领大家逐步掌握Android开发的基础知识,为后续的AI数字虚拟人项目开发打下坚实的基础。

5-2 Android Studio安装及配置
安装步骤
-
下载Android Studio:
- 访问Android开发者官网,下载最新版本的Android Studio安装包。
-
安装Android Studio:
- 双击安装包,按照提示完成安装过程。
-
配置Android Studio:
- 安装完成后,首次启动Android Studio会进行SDK的下载和安装。请确保网络连接正常,并耐心等待下载完成。
- 在欢迎界面中,选择“Start a new Android Studio project”以创建一个新项目,或选择“Open an existing Android Studio project”以打开已有项目。
配置环境变量(可选)
- 在某些情况下,可能需要手动配置
JAVA_HOME和ANDROID_HOME环境变量。这通常不是必需的,但有助于在命令行中更方便地使用Android工具。
5-3 模拟器创建及手机真机连接配置调试
创建模拟器
-
打开AVD Manager:
- 在Android Studio中,点击工具栏上的“AVD Manager”图标,或依次点击“Tools” > “AVD Manager”。
-
创建虚拟设备:
- 在AVD Manager中,点击“Create Virtual Device”按钮。
- 选择一个设备配置(如Pixel 5),然后点击“Next”。
- 选择一个系统镜像(如Android 12.0),然后点击“Next”。
- 配置虚拟设备的名称和其他设置,然后点击“Finish”。
-
启动模拟器:
- 在AVD Manager中,点击刚刚创建的虚拟设备旁边的“Run”按钮,即可启动模拟器。
手机真机连接配置调试
-
启用开发者选项:
- 在手机上,依次点击“设置” > “关于手机”,然后连续点击“版本号”七次,即可启用开发者选项。
-
启用USB调试:
- 在开发者选项中,找到并启用“USB调试”。
-
连接手机:
- 使用USB线将手机连接到电脑。
- 在弹出的对话框中,选择“传输文件”或“仅充电”模式(具体取决于手机型号和Android版本)。
-
在Android Studio中识别设备:
- 在Android Studio中,点击工具栏上的“Run”按钮旁边的设备选择器。
- 在弹出的设备列表中,应该能够看到已连接的手机设备。选择该设备,然后点击“OK”。
-
运行应用:
- 选择一个项目或创建一个新项目,然后点击“Run”按钮。应用将部署到连接的手机设备上。
5-4 Android开发基础(一)
创建一个简单的Hello World应用
-
创建新项目:
- 在Android Studio中,点击“Start a new Android Studio project”。
- 选择“Empty Activity”,然后点击“Next”。
- 配置项目名称、包名、保存位置等信息,然后点击“Finish”。
-
修改布局文件:
- 在
res/layout/activity_main.xml文件中,修改布局以显示一个TextView。
- 在
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/hello_world_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"android:layout_centerInParent="true"/>
</RelativeLayout>
- 运行应用:
- 点击“Run”按钮,选择模拟器或连接的手机设备,应用将运行并显示“Hello World!”。
5-5 Android开发基础(二)
添加按钮和点击事件
- 修改布局文件:
- 在
res/layout/activity_main.xml文件中,添加一个Button控件。
- 在
<Buttonandroid:id="@+id/my_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Click Me"android:layout_below="@id/hello_world_text"android:layout_centerHorizontal="true"android:layout_marginTop="20dp"/>
- 修改MainActivity.java文件:
- 在
MainActivity.java文件中,添加按钮点击事件的监听器。
- 在
package com.example.myfirstapp;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button myButton = findViewById(R.id.my_button);myButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "Button Clicked!", Toast.LENGTH_SHORT).show();}});}
}
- 运行应用:
- 点击“Run”按钮,选择模拟器或连接的手机设备,应用将运行。点击按钮时,将显示一个Toast消息“Button Clicked!”。
5-6 本章小结及作业
本章小结
在本章中,我们详细介绍了如何搭建Android开发环境,包括Android Studio的安装与配置、模拟器的创建以及手机真机的连接调试。随后,我们通过创建一个简单的Hello World应用和添加按钮点击事件,带领大家逐步掌握了Android开发的基础知识。
作业
-
创建一个新的Android项目:
- 创建一个新的Android项目,并修改布局文件以显示一个EditText控件和一个Button控件。
-
实现按钮点击事件:
- 当点击按钮时,获取EditText控件中的文本内容,并显示在一个Toast消息中。
-
运行并测试应用:
- 在模拟器或连接的手机设备上运行并测试你的应用,确保功能正常。
课程推荐:
课程推荐:
诚邀你关注我的精品视频课程——《ChatGPT+AI项目实战,打造多端智能虚拟数字人》。
课程以项目实战的方式,基于ChatGPT完成多端全栈式开发,实现AI绘画、智能语音、数字虚拟人等,从0到1手把手带你打造一个专属对话虚拟人。通过语音唤醒、识别及合成、安卓开发、前后端快速搭建等技术,使你具备将AI技术真实落地工作中,高效快速提高自身核心竞争力。
你将学到:
- 搭建AI绘画平台生成数字人
- 熟练应用SB+HTML全栈应用
- 整合AI技术开发多种语音应用
- 结合UE5打造3D智能虚拟人
- 掌握ChatGPT工作提效及开发
- AI赛道赚钱商业模式全解析

相关文章:
安卓AI虚拟女友项目开发的Android开发环境搭建
第五章:Android开发环境搭建与基础入门 5-1 项目讲解思路说明 本文是安卓AI数字虚拟人项目实战的第五章,开发安卓AI安卓版数字虚拟人的Android基础部分。 在本章中,我们将详细介绍如何搭建Android开发环境,包括Android Studio的…...
基于SpringBoot+Vue+MySQL的智能垃圾分类系统
系统展示 用户前台界面 管理员后台界面 系统背景 随着城市化进程的加速,垃圾问题日益凸显,不仅对环境造成污染,也给城市管理带来了巨大挑战。传统的垃圾分类方式不仅费时费力,而且手工操作容易出现错误,导致垃圾分类效…...
你的个人文件管理助手:AI驱动的本地文件整理工具
🌐 引言 在数字化时代,我们经常面临文件管理的挑战。电脑中的文件杂乱无章,寻找特定文件变得既费时又费力。幸运的是,现在有了一款名为本地文件整理器的神器,它利用AI技术帮助你快速、智能地整理文件,同时…...
【PyTorch】环境配置
框架介绍 Pytorch简介 2017年1月,FAIR(Facebook AI Research)发布了PyTorch。PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架。Torch是采用Lua语言作为接口的机器学习框架,但因为Lua语言较为小众,导…...
枫叶MTS格式转换器- 强大、操作简单的MTS、M2TS视频转换工具供大家学习研究参考
一款功能强大、操作简单的MTS、M2TS视频转换工具,欢迎下载使用。 使用本MTS格式转换器可以帮助您将索尼和松下等摄像机录制的MTS、M2TS格式高清视频转换为其他流行的视频格式,如MP4、3GP、AVI、MPEG、WMV、ASF、MOV、RM、VCD、SVCD、DVD、MKV、FLV、SWF、MPG、MP3、WAV、WMA…...
Vscode把全部‘def‘都收起来的快捷键
在 VSCode 中,你可以使用以下快捷键来收起所有函数定义 (def): Windows/Linux: Ctrl K, Ctrl 0macOS: Cmd K, Cmd 0 这个快捷键组合会折叠当前文件中所有的代码块(包括所有函数和类定义)。你可以通过相同的快捷键再次展开这…...
Web和UE5像素流送、通信教程
一、web端配置 首先打开Github地址:https://github.com/EpicGamesExt/PixelStreamingInfrastructure 找到自己虚幻引擎对应版本的项目并下载下来,我这里用的是5.3。 打开项目找到PixelStreamingInfrastructure-master > Frontend > implementat…...
【YOLO目标检测电梯间电动车与人数据集】共4321张、已标注txt格式、有训练好的yolov5的模型
目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:4321 标注数量(txt文件个数):4321 标注类别数:2 标注类别名称:person、electricBicycle 数据集下载:电梯间电动车与人数据集 图片示例 数据…...
【网络安全】公钥基础设施
1. PKI 定义 1.1 公钥基础设施的概念 公钥基础设施(Public Key Infrastructure,简称PKI)是一种基于公钥密码学的系统,它提供了一套完整的解决方案,用于管理和保护通过互联网传输的信息。PKI的核心功能包括密钥管理、…...
云原生(四十一)| 阿里云ECS服务器介绍
文章目录 阿里云ECS服务器介绍 一、云计算概述 二、什么是公有云 三、公有云优缺点 1、优点 2、缺点 四、公有云品牌 五、市场占有率 六、阿里云ECS概述 七、阿里云ECS特点 阿里云ECS服务器介绍 一、云计算概述 云计算是一种按使用量付费的模式,这种模式…...
计算机网络:计算机网络体系结构 —— OSI 模型 与 TCP/IP 模型
文章目录 计算机网络体系结构OSI 参考模型TCP/IP 参考模型分层的必要性物理层的主要问题数据链路层的主要问题网络层的主要问题运输层的主要问题应用层的主要问题 分层思想的处理方法发送请求路由器转发接受请求发送响应接收响应 计算机网络体系结构 计算机网络体系结构是指将…...
【openwrt-21.02】T750 openwrt switch划分VLAN之后网口插拔状态异常问题分析及解决方案
Openwrt版本 NAME="OpenWrt" VERSION="21.02-SNAPSHOT" ID="openwrt" ID_LIKE="lede openwrt" PRETTY_NAME="OpenWrt 21.02-SNAPSHOT" VERSION_ID="21.02-snapshot" HOME_URL="https://openwrt.org/" …...
C++随心记
C随心记 C中的 CONST C中的const是表示不可修改 int main() {/* 对于变量而言 */// 不可修改的常量const int A 10;// 不可修改的指针指向const int* pointer_0 nullptr;int const* poniter_1 nullptr;// 不可修改指针指向的内容int* const poniter_2 nullptr; }const也…...
【微服务即时通讯系统】——brpc远程过程调用、百度开源的RPC框架、brpc的介绍、brpc的安装、brpc使用和功能测试
文章目录 brpc1. brpc的介绍1.1 rpc的介绍1.2 rpc的原理1.3 grpc和brpc 2. brpc的安装3. brpc使用3.1 brpc接口介绍 4. brpc使用测试4.1 brpc同步和异步调用 brpc 1. brpc的介绍 1.1 rpc的介绍 RPC(Remote Procedure Call)远程过程调用,是一…...
鸿蒙开发(NEXT/API 12)【状态查询与订阅】手机侧应用开发
注意 该接口的调用需要在开发者联盟申请设备基础信息权限与穿戴用户状态权限,穿戴用户状态权限还需获得用户授权。 实时查询穿戴设备可用空间、电量状态。订阅穿戴设备连接状态、低电量告警、用户心率告警。查询和订阅穿戴设备充电状态、佩戴状态、设备模式。 使…...
vite中sass警告JS API过期
1.问题 在Vite创建项目中引入Sass弹出The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0 - vite中sass警告JS API过期 The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0警告提示表明你当前正在使用的 Dart Sass 版本中&#…...
睢宁自闭症寄宿学校:培养特殊孩子的未来
在自闭症儿童的教育与康复领域,每一所学校的努力都是对孩子们未来无限可能的一次深刻诠释。从江苏睢宁到广东广州,自闭症寄宿学校正以不同的方式,为这些特殊的孩子铺设一条通往未来的希望之路。其中,广州的星贝育园自闭症儿童寄宿…...
【Canvas与徽章】金圈蓝底国庆75周年徽章
【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>金边黑盾75周年</title><style type"text/css"&g…...
Java Servlet 详解
Java Servlet 是 Java 企业级应用 中的一个核心组件,特别是在 Web 应用开发中,它为服务器端处理请求提供了基础。每次用户发出请求时,Servlet 都会动态生成响应,这在构建复杂、交互式的 Web 应用时尤为重要。 什么是 Servlet&am…...
yolov8/9/10模型在安全帽、安全衣检测中的应用【代码+数据集+python环境+GUI系统】
yolov8910模型安全帽、安全衣检测中的应用【代码数据集python环境GUI系统】 yolov8/9/10模型在安全帽、安全衣检测中的应用【代码数据集python环境GUI系统】 背景意义 安全帽和安全衣在工业生产、建筑施工等高风险作业环境中是保护工人免受意外伤害的重要装备。然而࿰…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
