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() // 网络请求
    }
}
相关推荐
码点29 分钟前
Android ANR 全解析 与 traces 分析实战
android
敲代码的瓦龙1 小时前
Jetpack?lifecycle!!!
android·kotlin
苦瓜花1 小时前
Hilt用使用及原理
android
深度学习04072 小时前
MySQL InnoDB Cluster 部署完整文档
android·mysql·adb
慧都小项3 小时前
图解 MyEclipse Deployment Assembly:资源如何进入部署产物?
java·ide·tomcat·maven·myeclipse·部署排查
邪修king3 小时前
Re:Linux系统篇(三十七):进程间通信Chapter4:System V 共享内存深度解析:为什么它是最快的 IPC?
android·linux·运维
用户337922545683 小时前
Kiora SDK:在 Android 上组织端侧模型、工具与 A2A 协作
android
洞见前行4 小时前
你在 XML 时代学的渲染优化,进了 Compose 大多不再是重点——Recomposition 才是新的战场
android
2501_916008894 小时前
Windows 上写第一个 SwiftUI App,KXBuild 空工程起步,跑到 iPhone 真机
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
ii_best4 小时前
按键精灵手机助手 v5.2.1 实测:inputText 逐字延时 + 调试面板多行复制,安卓脚本开发的两个输入痛点一次解决
android·开发语言·智能手机·自动化·ai编程·按键精灵