当前位置: 首页 > news >正文

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

下载安装使用打包

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

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

打开android studio创建项目

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

2. 点击 Empty Activity 模板

Name :项目名称

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

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

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

Build configuration language:保持不变

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

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

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

5. 添加模拟器

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

等待下载完成,点击 Finish

6. 运行模拟器

7. 打包

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

MVVM 架构  

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

MVVM 全称是:

Model – View – ViewModel

是一种用于分离 UI 和逻辑的架构模式。
主要目的是让「界面代码(View)」和「业务逻辑(Model)」解耦,
中间通过 ViewModel 作为桥梁通信。

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

① View(视图层)

对应:

  • Activity

  • Fragment

  • 或 @Composable 组件

👉 只负责展示界面,不写业务逻辑。
通过观察 ViewModel 中的数据来刷新 UI。

@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 更新;

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

  • 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)

  • class UserRepository {suspend fun getUserInfo(): User {return apiService.getUser() // 网络请求}
    }
    

http://www.dtcms.com/a/553573.html

相关文章:

  • 基于Springboot的影视评论网站的设计与实现58py6238(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
  • 57套思维导图PPT模板合集 培训/头脑风暴/工作规划 可编辑PPTX
  • 项目源码安全审查—密钥硬编码问题
  • 内蒙古城乡住房建设厅网站网站建设及发布的流程
  • Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用
  • Hutool 全面实战指南:让 Java 开发更“甜”
  • LangChain进阶学习
  • 网站广告图怎么做网站开发的工作制度
  • 关于Delphi的一次吵架
  • 全连接层的第二层是怎么减少神经节点数
  • Rust开发之泛型约束与where子句的应用
  • 什么是CVE?如何通过SAST/静态分析工具Perforce QAC 和 Klocwork应对CVE?
  • 通过 Nix 管理 C 和 C++ 依赖项
  • Kimi Linear 论文阅读笔记:第一次“线性注意力”全面胜过全注意力
  • 金华网站开发开发网站需要什么硬件
  • 使用mysql客户端工具造数据方法入门
  • 光刻胶分类与特性——g/i线光刻胶及东京应化TP-3000系列胶典型配方(下)
  • Spring Boot项目快速稳健架构指南
  • 网站wordpress错误网站设计宽度尺寸
  • 图像分割技术总结
  • iptables u32 match 对字节后退的支持
  • gymnasium中space用法
  • 【win11】4:funasr配置python依赖项并下载模型
  • 网站官网上的新闻列表怎么做官网排名优化方案
  • Flink 优化-状态及 Checkpoint 调优
  • 会员中心网站模板网站优化要素
  • 微软简化Windows更新!命名更加直观:只保留重点
  • 7.进程控制(三)
  • MSA 基因序列对比差异化 相关使用
  • Kafka(文件)数据存储、清理机制、高性能设计