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 ...
随机推荐
- 编程算法 - 字符串的排列 代码(C)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/35593485 字符串的排列 代码(C) 本文 ...
- 洛谷P3324 [SDOI2015]星际战争
题目:洛谷P3324 [SDOI2015]星际战争 思路: 类似<导弹防御塔>,因为题目保证有解,花费时间小于最终答案时一定无法消灭所有敌人,只要花费时间大于等于最终答案都可以消灭所有敌人 ...
- FinalShell for Mac
Mac一键安装脚本 curl -o finalshell_install.sh www.hostbuf.com/downloads/finalshell_install.sh;chmod +x fin ...
- [转] android自定义布局中的平滑移动
无意中搜索到这篇文章,大概扫了一眼,知道是篇好文,先转载记录下来学习! 文章主要讲的是自定义view的写法心得. 转自:http://www.apkbus.com/android-48445-1-1. ...
- oracle函数 chartorowid(c1)
[功能]转换varchar2类型为rowid值 [参数]c1,字符串,长度为18的字符串,字符串必须符合rowid格式 [返回]返回rowid值 [示例] SELECT chartorowid('AA ...
- Redis源码解析:07压缩列表
压缩列表(ziplist)是列表键和哈希键的底层实现之一.当列表键只包含少量列表项,并且每个列表项要么是小整数值,要么是长度较短的字符串时:或者当哈希键只包含少量键值对,并且每个键值对的键和值要么是小 ...
- 树状数组(Binary Index Tree)
一维BIT(单点更新,区间求和): Problem - 1166 #include <iostream> #include <algorithm> #include <c ...
- MySQL列出当前月的每一天
因为工作的原因,要用MySQL列出当前月份每一天的日期,自己查了下网上资料都是列出最近一个月的日期的解决方案,自己根据查到的的方案,修改成了下面两个方案,在此记录下: 方案一: SELECT date ...
- 交互式计算和开发环境:IPython
- [***]HZOJ 奇袭
C. 奇袭 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭了,靠原 ...