一、项目结构

成功运行第一个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_分析项目的结构的更多相关文章

  1. Angular4.x 安装|创建项目|目录结构|创建组件

    Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一 ...

  2. web项目目录结构

    eclipse web项目目录结构 按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分: 1.  公开目录 ; 2. WEB-INF/web.xml 文件,发布描述符(必选) ; ...

  3. 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】

    初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...

  4. MyBatis 源码分析-项目总览

    MyBatis 源码分析-项目总览 1.概述 本文主要大致介绍一下MyBatis的项目结构.引用参考资料<MyBatis技术内幕> 此外,https://mybatis.org/mybat ...

  5. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  6. Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例 ...

  7. Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

    网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnbl ...

  8. express+gulp构建项目(一)项目目录结构

    express是基于nodejs平台的web框架,它可以让我们快速开发出web引用.而gulp是一种自动构建工具,非常强大,有了它,能帮我们完成很多繁琐的工作,例如,静态文件的压缩,为静态文件加上哈希 ...

  9. Laravel项目目录结构说明

    Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...

随机推荐

  1. pytest笔记

    -v 参数显示执行过程 测试覆盖率: ldy@ldy-D214:~/workspace/socai$ pipenv run pytest tests/unit/test_models.py --cov ...

  2. 注意 Laravel 清除缓存 php artisan cache:clear 的一个坑

    Laravel 的命令 php artisan cache:clear 用来清除各种缓存,如页面,Redis,配置文件等缓存,它会清空 Redis 数据库的全部数据,比如默认使用的 Redis 的 数 ...

  3. @topcoder - SRM577D1L3@ XorAndSum

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给出 N 个数,每次操作可以任意选择两个数,将其中一个替换为两个 ...

  4. @noi.ac - 489@ shuffle

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个长度为 n 的序列 s1,s2,-,sn,它有 2^n− ...

  5. [kuangbin带你飞]专题九 连通图C - Critical Links UVA - 796

    这道题就是要求桥的个数. 那么桥相应的也有判定的定理: 在和u相邻的节点中,存在一个节点是最小的时间戳都比 当前u的访问次序要大,也就是说这个点是只能通过果u到达,那么 他们之间相邻的边就是的桥 #i ...

  6. mybatis 嵌套查询与懒加载

    懒加载:对于页面有很多静态资源的情况下(比如网商购物页面),为了节省用户流量和提高页面性能,可以在用户浏览到当前资源的时候,再对资源进行请求和加载. fetchType="lazy" ...

  7. h5的canvas绘制方格(边框随即色)

    文章地址 https://www.cnblogs.com/sandraryan/ 两个循环绘制 <body> <canvas id="cv" width=&quo ...

  8. java Iterator接口

    Iterator主要遍历Collection集合中的元素,也有称为迭代器或迭代精灵. boolean hasNext():若被迭代的集合元素还没有被遍历,返回true. Object  next(): ...

  9. H3C 多区域OSPF配置示例

  10. laravel-admin新手的使用

    1.添加页面 配置好laravel-admin的模板后 点击管理员管理里的菜单列表,输入如下信息即可 提交之后刷新页面,左侧菜单就会显示新增的广告管理的标签 2.定义路由 配置好前端的页面显示之后就要 ...