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() // 网络请求
    }
}
相关推荐
delta_hell1 小时前
【阅读源码-Android】动画之AnimatorSet--2
android·源码·animatorset
叶辞树4 小时前
Android CLI
android
我命由我123457 小时前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
程思扬7 小时前
Android ANR实战排查:主线程SystemClock.sleep导致页面启动偶现无响应
android·笔记
码农coding7 小时前
android12 InputManagerService分析之输入事件如何回到应用层
android
zhangguojia78 小时前
从一个窗口覆盖问题出发,理解 Android Window 的层级与权限
android
古法安卓10 小时前
Android-SELinux 策略调试实战:从 AVC 日志到策略修复
android·java·android studio
Dovis(誓平步青云)11 小时前
DevEco Studio 6.1.1 Windows 安装实录:从下载校验到首次启动
android·开发语言·数据库·人工智能·windows·harmonyos
Zender Han11 小时前
Flutter 自适应(Adaptive)与响应式(Responsive)设计实践:官方推荐方案详解
android·flutter·ios
我命由我1234512 小时前
Android 开发问题:TopAppBar 和 topAppBarColors API is experimental...
android·java·java-ee·kotlin·android studio·android jetpack·android-studio