1.Android学习之Android项目结构
目录
1.Android项目结构
1.manifests节点
2.java节点
2.res节点
①drawable子目录
②layout子目录
③mipmap子目录
④values子目录
1.Android项目结构
1.manifests节点
manifests节点用于显示Android应用程序的配置文件。
通常情况下,每个Android应用程序必须包含一个AndroidManifest.xml文件,位于manifests节点下。它是整个Android应用的全局描述文件。在该文件内,需要注明应用的名称、使用图标、Activity和Service等信息,否则程序不能正常启动。
AndroidManifest.xml文件中的重要元素及说明如表1.1所示
元素 | 说明 |
---|---|
manifests | 根节点,描述了package中所有的内容 |
xmlns:android | 包含命名空间的声明,其属性为http://schemas.android.com/apk/res/android,表示Android中的各种标准属性能在该xml文件中使用,它提供了大部分元素中的数据 |
package | 声明应用程序包 |
application | 包含package中application级别组件声明的根节点,一个manifests中可以包含零个或者一个该元素 |
android:icon | 应用程序图标 |
android:label | 应用程序标签,即为应用程序指定名称 |
android:theme | 应用程序采用的主题,例如,Android Studio创建的项目默认采用@style/AppTheme |
activity | 与用户交互的主要工具,它是用户打开一个应用程序的初始页面 |
intent-filter | 配置Intent过滤器 |
action | 组件支持的Intent Action |
category | 组件支持的Intent Category,这里通常用来指定应用程序默认启动的Activity |
注意:在Android程序中,每一个Activity都需要在AndroidManifest.xml文件中有一个对应的<activity>标记
2.java节点
java节点用于显示包含了Android程序的所有包及源文件(.java)
按包存放的Java源文件
单元测试节点
默认生成的MainActivity.java文件的关键代码如下:
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}
Android Studio创建的MainActivity类默认继承AppCompatActivity类(继承AppCompatActivity类的Activity将带有Action Bar),并且在该类中,重写了Activity类中的onCreate()方法,在onCreate()方法中通过setContentView(R.layout.activity_main)方法设置当前的Activity要显示的布局文件。
注:这里使用R.layout.activity_main来获取layout目录中activity_main.xml布局文件,这是因为在Android程序中,每个资源都会在R.java文件中生成一个索引,而通过这个索引,开发人员可以很方便地调用Android程序中的资源文件
2.res节点
该节点用来显示保存在res目录下的资源文件,当res目录中的文件发生变化时,R文件会自动修改。在res目录中还包括一些子目录。
①drawable子目录
用来保存图片资源(如PNG、JPEG、GIF图片,9-Patch图片或者Shape资源文件等)
②layout子目录
存储Android程序中的布局文件,在创建Android程序时会默认生成一个activity_main.xml布局文件。如
activity_main.xml布局文件的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>
activity_main.xml布局文件中的重要元素及说明如表:
元素 | 说明 |
---|---|
ConstraintLayout | 布局管理器 |
xmlns:android | 包含空间的声明,其属性值为http://schemas.android.com/apk/res/android,表示Android中的各种标准属性能在xml文件中使用,它提供了大部分元素中的数据,该属性一定不能省略 |
xmlns:tools | 指定布局的默认工具 |
android:layout_width | 指定当前视图在屏幕上所占的宽度 |
android:layout_height | 指定当前视图在屏幕上所占的高度 |
TextView | 文本框组件,用来显示文件 |
android:text | 文本框组件显示的文本 |
③mipmap子目录
保存项目中应用的启动图标。
mipmap-xxxhdpi(超超超高)、mipmap-xxhdpi(超超高)、mipmap-xhdpi(超高)、mipmap-hdpi(高)、mipmap-mdpi(中)5个目录,分别用来存放超超超高分辨率图片、超超高分辨率图片、超高分辨率图片、高分辨率图片和中分辨率图片。
注:ic_launcher:方形图标
ic_launcher_round:圆形图标
④values子目录
保存应用中使用的字符串、样式和颜色资源。如
注:colors.xml颜色资源文件
string.xml字符串资源文件
styles.xml样式资源文件(Android好像不会自动生成)
string.xml文件的代码如下:
<resources><string name="app_name">My Application</string>
</resources>
1.Android学习之Android项目结构相关推荐
- Android学习笔记——Android 签名机制详解
Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...
- Android学习之Android历史
一个优点:无论学习什么之前都要了解一下它的历史. Android读音:android 英 [ ˈændrɔɪd ] 美 [ ˈænˌdrɔɪd ],中文音译:"安叫伊德",或者&q ...
- 【Android学习】Android常用框架
1,缓存 1)DiskLruCache Java实现基于LRU的磁盘缓存. 2,图片 1)Glide(已使用) ①概念 图片加载. Glide 支持拉取,解码和展示视频快照,图片,和GIF动画. ② ...
- Android 学习 之 Android 4.0 平台
[size=large]转转转,感谢饿哦额Android的各位大侠,在这里谢过,我这里做个备份,嘿嘿!! http://www.eoeandroid.com/thread-103300-1-1.htm ...
- Android学习之Android 5.0分享动画实现微信点击全屏效果
Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...
- android学习笔记 android学习速成口诀(张迅雷闪击android系列)
Android架构分4层 用框行li (谐音:用框行礼) Android布局有5种 架线绝对表 (谐音:架电线绝对需要用表) 数据存储5方式 下贱似C网 (谐音:下贱的就是联通CDM ...
- android 学习记录-----------android 活动 意图 碎片
将此篇博客作为记录android项目开发过程中的学习记录 转载于:https://www.cnblogs.com/yukino/p/4071002.html
- Android学习之android源码的导入
1.首先,在sdk的目录底下找到sources文件目录,如下图所示: 打开此目录,就有android sdk下载的源码文件,如下图所示: 这个android-17下就有android源码,我们只需把这 ...
- Android学习计划 Android学习总结
********************************2011/07/01********** 之前自己曾参与了一个简单的Android应用项目(简单的拍照功能,利用socket与PC 端服 ...
- android 距离设置多少dp核实,【Android学习】android布局中几个距离单位的区别:px、dp、sp...
一.px 像素,我们经常说的400*800这种的就是像素,这个比较好理解. 二.dp 要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以, ...
最新文章
- cx_Oracle读写clob
- 途牛自营门市超500家 单笔订单交易额最高近300万元
- 如何测试网络视频服务器(DVS)
- 数字新消费重塑新中部,岳麓峰会再汇“长沙内能”
- 中国大学MOOC 计算机组成原理第4章 测试(上)
- vue变量传值_Vue各类组件之间传值的实现方式
- Html和CSS在浏览器中常见的兼容性问题处理
- python3写的一个检测远程服务器端口脚本
- linux位置变量的应用,llinux中变量的运用
- 微软DotNet平台升温
- LinuxC高级_day1
- AD20如何自定义BOM模板?Altium Designer20 实用技巧系列教程(五)
- 道路测量xy坐标表示什么_cad里面什么叫绝对极坐标,相对极坐标,怎么区分他们?...
- Java工程师工作描述写作要点该怎么写?
- 关于区块链安全方面的文献
- STC 串口下载电路 - CH340G或CH340N USB转串口以及漏电隔离
- 玩转华为数据中心交换机系列 | 配置VLAN内协议报文透传示例
- 用工作流思想实现简单的校园请假系统
- 软件测试用例编写规范文档,模板都给你了我看谁还不会写测试用例
- 浅谈递归和递归的简单程序
热门文章
- 一篇文章详细解读Spring的AOP原理过程(Spring面向切面详解)
- 人工智能就是计算机科学的英文,AI(人工智能)的英文全称?AI指什么,包含什么?
- Qt安装QtCharts | 超简便方法
- 代购集运系统平台一键上传淘宝商品至韩国coupang经验分享
- HTML标记大全参考手册
- 服务器内存有很多不显示,这里大神多,帮忙看看这个服务器内存是不是真的
- 计算机联锁车务仿真培训系统 casco模式,计算机联锁仿真培训系统
- windows11安装MAVEN
- jenkins 安装maven 插件
- 什么是 SAP BAPI