ANDROID培训准备资料之项目结构简单介绍
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培训准备资料之项目结构简单介绍的更多相关文章
- Android培训准备资料之五大布局简单介绍
本篇博客主要简单的给大家介绍一下Android五大布局 (1)LinearLayout(线性布局) (2)RelativeLayout(相对布局) (3)FrameLayout(帧布局) (4)Abs ...
- ANDROID培训准备资料之四大组件的简单介绍
Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...
- 使用Kotlin开发Android应用(I):简单介绍
使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...
- Hadoop源码学习笔记之NameNode启动场景流程一:源码环境搭建和项目模块及NameNode结构简单介绍
最近在跟着一个大佬学习Hadoop底层源码及架构等知识点,觉得有必要记录下来这个学习过程.想到了这个废弃已久的blog账号,决定重新开始更新. 主要分以下几步来进行源码学习: 一.搭建源码阅读环境二. ...
- Vue入坑教程(二)——项目结构详情介绍
之前已经介绍了关于Vue的脚手架vue-cli的安装,以及一些文件目录介绍.具体可以查看<vue 入坑教程(一)--搭建vue-cli脚手架> 下面简单说一下具体的文件介绍 (一) pac ...
- Android 驱动(二) IIC简单介绍
一. I2C简单介绍 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最基本的长处就是简单性 ...
- Android Fragment(三)ListFragment简单介绍以及Fragment之间通信
一.Fragment通信简单介绍:Fragments之间是不能够直接通信的,他们之间的通信是通过Activity这个中间件来通信的, 为了让Fragment跟它的Activity通信,我们可以在Fra ...
- (1)-Android学习笔记之:初识Android系统架构和项目结构
Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...
- Android 升级脚本updater-script 的函数简单介绍
这是Android系统来执行updater-scripts中的函数介绍. 函数都是的Edify语言.当调用这些函数结束的时候.会返回数据给脚本.当然,你也能够使用这些函数的返回值来确认成功与否,比如: ...
随机推荐
- 由定时脚本错误以及Elasticsearch配置错误引发的Flink线上事故
近期接手离职同事项目,突然遇到线上事故,Flink无法正常聚合数据生成指标. 以下是详细的排查过程: 问题复现 清晨,运维报告Flink数据分析模块无法正常生成指标数据. 赶紧登陆Flink所在机器, ...
- 并发修改异常ConcurrentModificationException
1.简述:在使用 迭代器对象遍历集合时,使用集合对象修改集合中的元素导致出现异常 public static void main(String[] args) { List<Integer> ...
- ES 25 - Elasticsearch的分页查询及其深分页问题 (deep paging)
目录 1 分页查询方法 2 分页查询的deep paging问题 1 分页查询方法 在GET请求中拼接from和size参数 // 查询10条数据, 默认从第0条数据开始 GET book_shop/ ...
- Linux—运行yum报错:No module named yum
产生原因:yum基于python写的,根据报错信息提示,是yum的python版本对应不上目前python环境的版本导致的.也就是说 有人升级或者卸载了python. 解决方式: # 查看yum版本 ...
- Python—编码与解码(encode()和decode())
编码与解码 decode英文意思是解码,encode英文原意是编码. Python 里面的编码和解码也就是 unicode 和 str 这两种形式的相互转化.编码是 unicode -> str ...
- PyCharm颜色设置
选择主题和背景图片 选择字体.修改字体大小 新建颜色主题 修改背景颜色 修改注释颜色 File --> Setting (Ctrl + Shift + S) 1.选择不同的主题.选择背景图片 A ...
- 日志类shell脚本
Apache日志文件切割 #!/bin/bash year=`date -d '-1 day' +%Y` month=`date -d '-1 day' +%m` day=`date -d '-1 d ...
- 4. jenkins 构建任务
这边说一下 ,服务器的分布. 因为我这边 测试环境的项目比较多,不能修改主机名 1号机器 节点机器(node) 最终项目发布到这台机器 2号机器 jenkins jenkins的部署,发布 3号机 ...
- lua 8 字符串
转自:http://www.runoob.com/lua/lua-strings.html 字符串或串(String)是由数字.字母.下划线组成的一串字符. Lua 语言中字符串可以使用以下三种方式来 ...
- django框架创建app及使用、
App 创建一个app : python manage.py startapp app01 admin: from django.contrib import admin # Register you ...