Android2_分析项目的结构
一、项目结构
成功运行第一个AS项目HelloWorld之后,我们开始试着分析一下这个项目。毕竟知其然也要知其所以然。
这是一个安卓的项目结构(实际上这是安卓模式的项目结构)
我们可以切换成Project模式的项目结构。这个才是项目真实的目录结构,安卓模式的项目结构是将该Project模式的项目结构做了转换,这样子方便开发者查找必要的文件或信息,比较简洁明了。
====================================================
二、项目中的资源res
接下来探究一下res文件夹是干嘛的?
顾名思义,res是资源的缩写,用于存放app的必备资源。
drawable文件夹用于存放图片;
layout文件夹用于布局文件;
mipmap文件夹用于存放应用图标;
values文件夹用于存放字符串、样式、颜色等配置;
有时候还会出现mipmap-hdpi、mipmap-xhdpi、drawable-hdpi等名称的文件夹,这是因为程序可能运行在不同分辨率的设备上,所以它会自动根据当前运行设备的分辨率高低来选择加载哪个文件夹下的图片。
目前来看,AS是把不同分辨率的图片都放在同一个图片文件夹下,在末尾用括号备注了分辨率。
打开strings.xml文件看一下,这里定义了app的名称,叫做HelloWorld。
那么如何获得这个名称字符串(HelloWorld)呢?
在其他xml文件中,通过 @string/app_name来引用
在代码中通过 R.string.app_name来引用
====================================================
三、AndroidManifest.xml文件
安卓模式的项目结构中有个叫做Manifest的文件夹,
展开之后,发现有个叫做AndroidManifest.xml的文件。
AndroidManifest.xml文件是Android项目的系统清单文件,用于控制Android应用的名称,图标,访问权限等整体属性。
此外,Android应用的Activity、Service、ContentProvider、BroadcastRecevier等4大组件都需要在该文件中配置。
这个文件就是配置了应用的一些整体属性,还有就是配置了Activity这个文件的一些属性;具体含义有待后续深入研究。
Android2_分析项目的结构的更多相关文章
- Angular4.x 安装|创建项目|目录结构|创建组件
Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一 ...
- web项目目录结构
eclipse web项目目录结构 按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分: 1. 公开目录 ; 2. WEB-INF/web.xml 文件,发布描述符(必选) ; ...
- 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】
初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...
- MyBatis 源码分析-项目总览
MyBatis 源码分析-项目总览 1.概述 本文主要大致介绍一下MyBatis的项目结构.引用参考资料<MyBatis技术内幕> 此外,https://mybatis.org/mybat ...
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...
- Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗
网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例 ...
- Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析
网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...
- express+gulp构建项目(一)项目目录结构
express是基于nodejs平台的web框架,它可以让我们快速开发出web引用.而gulp是一种自动构建工具,非常强大,有了它,能帮我们完成很多繁琐的工作,例如,静态文件的压缩,为静态文件加上哈希 ...
- Laravel项目目录结构说明
Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...
随机推荐
- TIJ——Chapter Twelve:Error Handling with Exception
Exception guidelines Use exceptions to: Handle problems at the appropriate level.(Avoid catching exc ...
- docker下载容器镜像
下载镜像的命令非常简单,使用docker pull命令即可. 在docker的镜像索引网站上面,镜像都是按照用户名/镜像名的方式来存储的. 有一组比较特殊的镜像,比如ubuntu这类基础镜像,经过官方 ...
- this 、静态变量
/*作者:qingfeng日期:2017/2/18功能:this,静态变量(类变量)*/class Demo3_2{ public static void main(String args[]) ...
- 模板—LCT
#include<iostream> #include<cstring> #include<cstdio> #define LL long long using n ...
- Jmeter监控
https://www.cnblogs.com/saryli/p/6596647.html JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况. JMeter正常自带可以通过Tom ...
- Knative Eventing 中如何实现 Registry 事件注册机制
摘要: 在最新的 Knative Eventing 0.6 版本中新增了 Registry 特性, 为什么要增加这个特性, 该特性是如何实现的.针对这些问题,希望通过本篇文章给出答案. 背景 作为事件 ...
- selenium webdriver学习(八)------------如何操作select下拉框(转)
selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver 下面我们来看一下selenium webdriv ...
- H3C 局域网的不足
- C#面向对象--命名空间与类库
1.命名空间 在源代码文件开头使用using语句引用 命名空间,就可以直接使用其中的类而不再需要指明其所属的命名空间. .NET Framework使用命名空间来管理所有的类. 类的修饰符: pu ...
- Python--day71--Cookie和Session
一.Cookie Cookie图示: 二.Session 引用:http://www.cnblogs.com/liwenzhou/p/8343243.html cookie Cookie的由来 大家都 ...