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() // 网络请求
    }
}
相关推荐
liang_jy9 小时前
Android SparseArray
android·源码
liang_jy10 小时前
Activity 启动流程扩展篇(一)—— startActivityInner 任务决策全解析
android·源码
NPE~11 小时前
[App逆向]脱壳实战
android·教程·逆向·android逆向·逆向分析
木易 士心11 小时前
别再只会用 drawCircle 了!一文搞懂 Android Canvas 底层机制
android
AtOR CUES12 小时前
MySQL——表操作及查询
android·mysql·adb
怣疯knight14 小时前
安卓App无法增加自定义图片作为图标功能
android
jinanwuhuaguo15 小时前
OpenClaw联邦之心——从孤岛记忆到硅基集体潜意识的拓扑学革命(第二十三篇)
android·人工智能·kotlin·拓扑学·openclaw
读书札记202216 小时前
visual studio 调试技巧总结
ide·visual studio
Gary Studio17 小时前
安卓HAL C++基础-命名域
android
诸神黄昏EX17 小时前
Android Google XTS
android