android studio创建使用开发打包教程

下载安装使用打包

官网下载,根据平台选择软件包

https://developer.android.com/studio?hl=zh-cn

打开android studio创建项目

  1. 在 Welcome to Android Studio 对话框中,点击 New Project
  1. 点击 Empty Activity 模板

**Name :**项目名称

**Package name :**保持不变(唯一的包名)

**Save location :**保持不变(文件位置)

Minimum SDK: 选择 API 24: Android 7.0 (Nougat)( 最低安卓系统版本**)**

**Build configuration language:**保持不变

  1. 点击 Finish,等待下方的进度条完毕

点击 Build & Refresh ,等进度条完毕,会出现 Hello Android! 的文本

  1. 项目视图切换器,每一种都是同一个项目,只是以不同的结构展示。

  1. 添加模拟器

选择 Android版本 ,如果右边显示 "Download",就点击它下载对应镜像。

等待下载完成,点击 Finish

  1. 运行模拟器
  1. 打包

在右下角会看到 "Build running...",等待构建完成

MVVM 架构

-- Android最常用的一种代码结构设计模式

MVVM 全称是:

Model -- View -- ViewModel

是一种用于分离 UI 和逻辑的架构模式。

主要目的是让「界面代码(View)」和「业务逻辑(Model)」解耦,

中间通过 ViewModel 作为桥梁通信。

bash 复制代码
 ┌────────────┐
 │   View     │ ←── 用户交互(点击/输入)
 │ (Activity/ │
 │  Fragment) │
 └──────┬─────┘
        │ 观察 LiveData
        ▼
 ┌────────────┐
 │ ViewModel  │ ←── 持有界面状态(UI State)
 │             │
 │ 业务逻辑层   │
 └──────┬─────┘
        │ 调用 Repository
        ▼
 ┌────────────┐
 │   Model    │ ←── 数据源(网络 / 本地数据库)
 │ (Repository│
 │   / API)   │
 └────────────┘

① View(视图层)

对应:

  • Activity

  • Fragment

  • 或 @Composable 组件

👉 只负责展示界面,不写业务逻辑。

通过观察 ViewModel 中的数据来刷新 UI。

Kotlin 复制代码
@Composable
fun UserScreen(viewModel: UserViewModel = viewModel()) {
    val user by viewModel.user.collectAsState()

    Text(text = "Hello, ${user.name}")
}

② ViewModel(视图模型层)

对应:

  • ViewModel 类(Android Jetpack 提供)

👉 是 MVVM 的核心:

👉 专门处理数据来源,和 UI 完全无关。

  • 保存 UI 状态;

  • 执行业务逻辑;

  • 通知 View 更新;

  • 处理生命周期问题(不会因旋转而丢数据)。

Kotlin 复制代码
class UserViewModel : ViewModel() {
    private val _user = MutableStateFlow(User("Guest"))
    val user = _user.asStateFlow()

    fun loadUser() {
        viewModelScope.launch {
            val result = repository.getUserInfo()
            _user.value = result
        }
    }
}

③ Model(数据层)

对应:

  • 数据仓库(Repository)

  • 网络请求(Retrofit)

  • 数据库(Room)

Kotlin 复制代码
class UserRepository {
    suspend fun getUserInfo(): User {
        return apiService.getUser() // 网络请求
    }
}
相关推荐
阿杰m3 小时前
Android源码第十三章:Bluetooth——沿一次发现走到控制器
android
booboosui3 小时前
派活给另一个 AI:前后两次文件夹快照,就是交付清单
android
普通人68 小时前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
拼图2099 小时前
VSCode 正则表达式使用指南
ide·vscode·正则表达式
好的佩奇19 小时前
Dart 之集合元素
android·flutter·dart
Easyhood21 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
FlightYe1 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
疯华整猫1 天前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
#六脉神剑1 天前
myBuilder 11 月新版本:AI辅助设计
ide·人工智能·低代码·ai·mybuilder
mmsx1 天前
耳切法切带洞多边形:论文能跑通,真实数据为什么崩
android·kotlin