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() // 网络请求
    }
}
相关推荐
阿巴斯甜15 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker15 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952716 小时前
Andorid Google 登录接入文档
android
黄林晴18 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android