Android Studio项目结构初步主要介绍下面几个文件夹,后续再补充

(1)java文件夹的介绍

(2)Res文件夹的介绍

(3)R文件的介绍

(4)Manifests文件夹的介绍

我们先看看整个项目结构

 (1)java文件夹的介绍

java文件夹主要存放源代码,这里没有什么好讲的呢,主要讲下在开发过程中在这个文件夹下我们怎麼规划我们的代码,先来说说我怎么挖坑埋自己的吧,去年八月份吧,那时候刚出来,初生牛犊不怕虎,和另外一个实习生就直接着手开发商旅宝项目啦,一开始还按照正常的轨道前进,到后期一味的追求复用代码,也有担心后期维护的问题,但是但是没啥经验,就是你干,到最后我们竟然丧心病狂的把本来五六个Activity的内容全部集合到一个Activity中,布局页面也全集中到一个xml文件中,动态的判断该加载那个,反正最后就差一个项目用一个Activity,一个xml实现就得啦,这一年过去啦,现在我只要听到领导说维护下商旅宝,哪里哪里需要修改,我都开始颤抖啦,MD,这几十个if else if else我又得debug一行一行代码的走一遍啦,重要是当初还没有给代码加备注的习惯,真是日狗啦,反正到现在代码不好维护也不好扩展,就一句话吧,百无是处。好啦,回到正题吧。这也都工作一年啦,说说到底怎么规划我们代码吧,我觉得接手一个新的项目,我们首先得给他分模块,不用去考虑原形上那两个页面相似,那两个页面的逻辑代码差不多,我把它两给整一块去,这样是不正确的,我们应该按功能模块来划分package,而不是按层次来划分package,比如说一个项目主要有两个功能模块,一个是关于发型推荐的,一个是关于衣服搭配的,即使这两者有再多的页面相同,我们都要分成两块,一块hairstyle,另一块clothes,后期如果想复用一些代码,咱可以子类继承父类来实现。

(2)res文件夹的介绍

res 文件夹主要存放一些资源文件,比如说图片,音频文件,甚至数据库文件等等都可以,初始化主要有drawable,layout,menu,mipmap,values几个文件夹

drawable和 mipmap:两者主要都是存放图形资源的,之前在eclipse中是没有mipmap这个文件夹的 ,改用Studio作为开发工具后,一开始还真是蒙圈啦,干脆就把所有自定义的xml图形资源文件全扔在drawable中,美工切图的图形资源文件全扔miamap中,后来查了下资料 ,这样是不正确的,虽然两者在使用上是没有区别的,并且使用mipmap系统会在缩放上提供一定的性能优化,但是我们应该只把应用启动图标放在mipmap文件夹中,其他的都应该扔在drawable中,具体大家可以百度一下很多,这里就不再细述啦。

layout:layout文件夹主要存放用户界面资源文件,文件类型为xml。

menu:主要存放菜单文件

values/dimens:主要定义一些尺寸值

values/strings:主要定义一些字符串

values/styles:主要定义样式

我们还可以在values文件夹下定义一些例如colors(颜色资源文件),arrays(数组资源文件)之类的文件,方便我们管理

                             

(3)R文件夹的介绍

资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标示。

(4)Manifest文件夹的介绍

Manifest文件夹下主要有一个文件AndroidManifest.xml文件,当我们启动一个程序时,怎么知道程序的入口在哪呢?答案就是AndroidManifest文件,不仅如此,当我们要启动某个组件时,例如Activity,Service时,Android系统首先会跑到AndroidManifest文件中查找这个组件存不存在,当然我们除了在AndroidManifest文件中定义描述所有的组件之外,像一些,程序的一些用户权限,例如联网,可以调用系统相机这些等等都需要在AndroidManifest文件中定义,还有定义程序的名字,启动图标,设置Activity的启动模式等等,今天我们只是初步了解一下AndroidManifest文件即可,后续再深入了解,大家最好可以去官方文档深入了解一下,哪里介绍的比较详细。

ANDROID培训准备资料之项目结构简单介绍的更多相关文章

  1. Android培训准备资料之五大布局简单介绍

    本篇博客主要简单的给大家介绍一下Android五大布局 (1)LinearLayout(线性布局) (2)RelativeLayout(相对布局) (3)FrameLayout(帧布局) (4)Abs ...

  2. ANDROID培训准备资料之四大组件的简单介绍

    Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...

  3. 使用Kotlin开发Android应用(I):简单介绍

    使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...

  4. Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍

    最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...

  5. Vue入坑教程(二)——项目结构详情介绍

    之前已经介绍了关于Vue的脚手架vue-cli的安装,以及一些文件目录介绍.具体可以查看<vue 入坑教程(一)--搭建vue-cli脚手架> 下面简单说一下具体的文件介绍 (一) pac ...

  6. Android 驱动(二) IIC简单介绍

    一. I2C简单介绍 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最基本的长处就是简单性 ...

  7. Android Fragment(三)ListFragment简单介绍以及Fragment之间通信

    一.Fragment通信简单介绍:Fragments之间是不能够直接通信的,他们之间的通信是通过Activity这个中间件来通信的, 为了让Fragment跟它的Activity通信,我们可以在Fra ...

  8. (1)-Android学习笔记之:初识Android系统架构和项目结构

    Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...

  9. Android 升级脚本updater-script 的函数简单介绍

    这是Android系统来执行updater-scripts中的函数介绍. 函数都是的Edify语言.当调用这些函数结束的时候.会返回数据给脚本.当然,你也能够使用这些函数的返回值来确认成功与否,比如: ...

随机推荐

  1. 版本管理·玩转git(推到远程仓库)

    经过前面的练习,你在本地的仓库里管理代码已经比较熟练了,但如果是团队开发呢,如何配合起来呢? 我们可以把版本仓库放在互联网上,开发者把自己最新的版本推到线上仓库,同时,把线上仓库的最新代码拉到自己本地 ...

  2. 使用百度的webuploader进行附件上传

    相较于之前使用的上传空间的优点:支持html5,不用再安装flash插件,没有大小限制,分片以后上传,上传以后再进行合并. 前端js代码 <script type="text/java ...

  3. [转] Hystrix 使用与分析

    原文地址:http://hot66hot.iteye.com/blog/2155036 转载请注明出处哈:http://hot66hot.iteye.com/blog/2155036 一:为什么需要H ...

  4. Shell命令-系统信息及显示之free、cal

    文件及内容处理 - free.cal 1. free:查看系统内存 free命令的功能说明 free 命令用于显示内存状态.free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内 ...

  5. Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因

    Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#

  6. requests---发送post请求完成登录

    前段时间写过一个通过cookies完成登录,今天我们写一篇通过post发送请求完成登录豆瓣网 模拟登录 1.首先找到豆瓣网的登录接口 打开豆瓣网站的登录接口,请求错误的账号密码,通过F12或者抓包工具 ...

  7. Python入门基础学习(环境安装/字符串)

    Python基础学习笔记(一) 编译性语言与解释性语言: 编译性语言:读完代码再执行,一般会生成一个文件,如C语言会生成一个.h的文件给计算机执行 如:C,C++,C#,Java,Go 解释性语言:读 ...

  8. 5. git-lab 项目操作

    项目操作 一.给成员授权项目权限 之前我们是给组增加成员.  当有的项目需要给组下面的成员授权不一样的时候. 我们需要在项目里面给成员授权权限 点击管理区域 点这个项目 看下图,我们可以看到  现在这 ...

  9. 【Eureka篇三】EurekaServer服务注册中心(1)

    注:在前面[Rest微服务案例(二)]的基础上进行操作. 1. 新建Maven Module,子模块名称为microservicecloud-eureka-7001,packaging为jar模式 & ...

  10. celery 异步发送短信验证码、延迟任务

    短信 celery.py import os, django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffy ...