02 |「新建项目」

前言

新建项目

文章目录

    • 前言
    • 一、步骤
    • 二、结构
      • 3. Java 文件夹
      • 4. res 文件夹
      • 5. Gradle Scripts文件
    • 三、运行流程
    • 四、Gradle 构建项目
      • 1. 是什么
      • 2. 作用

一、步骤

1)New Project

2)Empty Activity

3)Finsh

选项:

  • Name:项目名;
  • Package name:项目包名(项目的唯一标识);
  • Save location:项目保存路径;
  • Language:项目开发语言;
  • Minimum SDK:项目的最低兼容版本,在低于此版本的设备上无法运行此程序。
  • 点击 Finish,Android Studio 会自动下载 JDK 和程序所需依赖库;
  • 红色箭头指向的地方变成绿色的 app,说明所有依赖库下载完毕和编译项目完成;

4)模拟器

  • 点击右边的绿色三角形 Run 图标运行程序;

  • 自带模拟器

二、结构

  • 整体结构图
  • AndroidManifest.xml
  • xmlns:android:定义 Android 命名空间,使得 Android 中各种标准属性能在文件中使用,提供了大部分元素中的数据;

  • package:本应用内 Java 主程序包的包名,也是一个应用进程的默认名称;

    • 应用进程:在 Android 开发中,一个应用进程是指一个独立运行的应用程序实例;每当在 Android 设备上启动一个应用,操作系统会为该应用创建一个进程,用于执行应用的代码和管理其资源;
  • application

    • 一个安卓应用必须包含一个 application 标签,声明了每一个应用程序的组件及其属性,例如,icon、label、permission 等);
  • allowBackup:当 allowBackup 标志为 true 时,用户即可通过 adb backup 和 adb restore 来进行对应用数据的备份和恢复,可能会带来一定的安全风险;

  • icon:声明整个 APP 的图标;

  • roundIcon:同样声明整个 APP 的图标,圆形的图标,如果配置了此项,APP 安装在手机显示的就是圆形图标;

  • label:声明整个 APP 的名字;

  • supportsRtl:支持从右往左显示的布局;

  • theme:定义了一个默认的主题风格给所有的 Activity;

  • Activity:定义 APP 中的一个组件 Activity;

    • name: 该 Activity 的名字;
    • screenOrientation:该 Activity 的屏幕方向;
    • intent-filter:广播过滤器;
    • action android:name:指定程序入口 Activity;
    • category android:name:指定当前动作(Action)被执行的环境;

补充:

  • 一个应用程序的组件是指构成应用的不同模块或部分,用于执行特定的功能;
    • Android 提供了四种主要的组件类型
      • 活动(Activity)
        • 活动指用户界面的一部分,通常表示为一个窗口或界面;
        • 负责与用户交互、接收用户输入并显示相关信息;
      • 服务(Service)
        • 服务是在后台执行长时间运行操作的组件,而不需要直接与用户进行交互。服务可以在应用程序的生命周期内独立于活动运行,并可以在后台处理任务,例如下载文件、播放音乐等。服务可以作为启动服务(Started Service)或绑定服务(Bound Service)来使用。
      • 广播接收器(Broadcast Receiver):广播接收器是用于接收和响应来自系统或其他应用程序发送的广播消息的组件。广播消息可以是关于设备状态变化、应用程序事件或自定义事件的通知。
      • 内容提供器(Content Provider):内容提供器是用于管理应用程序数据的组件,它提供了对应用程序数据的统一访问接口。内容提供器可以让应用程序共享数据给其他应用程序,并提供了一种结构化的方式来存储、检索和操作数据。

3. Java 文件夹

  • 存放项目的源代码;

4. res 文件夹

  • 程序资源目录包含子目录
  • drawable:程序里所有的图片、形状;
  • layout:每个 Activity 界面对应的布局文件;
  • values:程序中的文字 strings.xml、大小 dimens.xml、颜色 colors.xml、风格 styles.xml 等;

5. Gradle Scripts文件

  • 项目编译和构建的配置;

三、运行流程

  • 程序加载 ——> AndroidMainfest.xml ——> application标签 ——> android:name=“.MainActivity”(作为第一个 Activity 启动)——> 调用 onCreate 函数 ——> 设置视图 ——> 最终显示在屏幕上的页面

四、Gradle 构建项目

1. 是什么

  • 是一个项目自动化构建工具。帮助管理项目中的第三方依赖关系项目编译项目打包项目部署

  • build.gradle:对工程整体 gradle 的配置,例如配置 gradle 版本、配置依赖库的仓库

2. 作用

  • build.gradle:对工程整体 gradle 的配置。例如,配置 gradle 的版本、依赖库的仓库 URL。

  • gradle.properties:CPU 分配 2048m 的内存给 gradle 的 JVM,项目使用 AndroidX 依赖库而非 Support 依赖库,Android 插件会通过重写其二进制文件来自动迁移现有的第三方库以使用 AndroidX 依赖项。

  • gradle-wrapper.properties:配置 gradle 的版本为 8.0

  • build.gradle:为经常会修改的文件


  • 总结:自由配置 Gradle 版本号、Gradle 仓库地址、Gradle Build 版本号,可以配置项目打包的一些配置如 applicationId 项目包名、targetSdkVersion 版本号、是否开启代码混淆、混淆文件路径、第三方依赖库及版本等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26940.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在SpringBoot中实现文件上传

1.创建一个SpringBoot的项目&#xff0c;需要导入spring-boot-starter-web的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 2.编写文件的核心配置applica…

.NET SqlSuger初次使用

文章目录 前言SqlSuger测试DB Fisrt和CodeFirst 前言 我之前在B站上面发视频说如何使用EF框架去生成实体类。我当时做了Mysql,Sql server,Sqlite的适配。但是下面评论区说SqlSuger很好用&#xff0c;而且很多公司都用SqlSuger。 B站视频&#xff1a;C#如何快速开发数据库业务…

云原生之深入解析Prometheus的安装部署和原理分析

一、Prometheus 简介 ① Prometheus 特性 Prometheus 最开始是由 SoundCloud 开发的开源监控告警系统&#xff0c;是 Google BorgMon 监控系统的开源版本。在 2016 年&#xff0c;Prometheus 加入 CNCF&#xff0c;成为继 Kubernetes 之后第二个被 CNCF 托管的项目。随着 Kub…

15 - 信号处理设计模式

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. Linux应用程序安全性讨论1.1 问题1.2 不同场景1.2.1 场景一&#xff1a;不需要处理信号1.2.2 场景二&#xff1a;需要处理信号 2. 场景…

部署LAMP 平台(二十四)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 二、PHP安装配置 1. PHP的作用 2. PHP安装 2.1 yum安装 2.2 PHP语言简介 三、安装 四、启动 五、书写测试页面 六、客户端访问 七、书写连接数据库页…

龙迅LT8711HE DP/Type-C输入转HDMI2.0

LT8711HE是一款高性能C/DP1.2到HDMI2.0转换器&#xff0c;设计用于将USB C型源或DP1.2源连接到HDMI2.0接收器。 LT8711HE集成了DP1.2兼容接收机和HDMI2.0兼容发射机。此外&#xff0c;还包括两个CC控制器&#xff0c;用于CC通信&#xff0c;以实现DP-Alt模式和电源输送功能&…

微服务系列文章之 Redisson实现分布式锁(3)

一、概述 1、技术架构 项目总体技术选型 SpringBoot2.4.5 Maven3.5.4 Redisson3.5.4 lombok(插件)2、加锁方式 该项目支持 自定义注解加锁 和 常规加锁 两种模式 自定义注解加锁 DistributedLock(value"goods", leaseTime5)public String lockDecreaseStock(…

8、链路层以太网协议,ARP协议32

网络层IP协议描述了通信中的起点到终点&#xff0c;但是数据不是飞过去的&#xff0c;是经过了大量的中间节点转发完成的。 一、以太网协议 1、MAC地址 物理硬件地址&#xff0c;是每一块网卡在出厂时设定的地址&#xff0c;固定且不可修改&#xff08;早期&#xff0c;现在可…

C语言模拟实现字符串处理函数

需要多一点点勇气&#xff0c;来面对变差的自己 大家好&#xff0c;我是纪宁。 这篇文章为大家带来的是5大字符串处理函数的模拟实现。 文章目录 1.strlen函数的模拟实现 2.strcpy函数的模拟实现 3.strcmp函数的模拟实现 4.strcat函数的模拟实现 5.strstr函数的模拟实现…

软件测试|SQL常用语法,你都会吗?

前言 SQL作为一门语言&#xff0c;和其他编程语言一样&#xff0c;都是需要遵循一些特定的规范和准则的&#xff0c;这也就是我们常说的语法&#xff08;Syntax&#xff09;。 下面是几个SQL的语法规则&#xff1a; 所有的 SQL 语法都必须以关键字&#xff08;也称命令&…

04-spring配置文件加载过程

文章目录 spring配置文件加载过程 spring配置文件加载过程 调用refresh方法中obtainFreshBeanFactory() Overridepublic void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// Prepare this context for refreshing.…

我们如何在 Elasticsearch 8.6、8.7 和 8.8 中加速数据摄入

作者&#xff1a;Adrien Grand, Joe Gallo, Tyler Perkins 正如你们中的一些人已经注意到的&#xff0c;Elasticsearch 8.6、8.7 和 8.8 在各种数据集上带来了良好的索引加速&#xff0c;从简单的关键字到繁重的 KNN 向量&#xff0c;以及摄取管道繁重的摄取工作负载。 摄取涉及…