Android项目目录结构模板以及简单说明【简单版】
版权声明:本文为HaiyuKing原创文章,转载请注明出处!
概述
开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包、module),那么我呢就根据以往的项目经验,整理出一个比较简单的目录结构,供以后项目开发参考。
注意:这里只是项目的目录结构图,不涉及里面的代码。其中部分必须的代码参考《Android多Module下的Application引用方式》、《Activity、fragment、dialog基类简单整理》
项目组织结构图





简单说明
app
assets目录:建议项目中需要放到assets目录的文件都放到这里,尽量不放到其他module的assets中(比如base、thirslib),这样便于统一管理;
activity目录:

BaseActivity和与项目业务无关的activity(比如WelcomeActivity)放到包的根目录下,其他与项目业务相关的activity放到新建的以业务名称命名的子包目录下,如果项目比较简单,那么就统一放到normal目录下即可。
adapter目录:适配器类集合
bean目录:实体类集合
dialog目录:

BaseDialogFragment放到包的根目录下,其他与项目业务相关的dialog放到新建的以业务名称命名的子包目录下,如果项目比较简单,那么就统一放到normal目录下即可。
enumtype目录:枚举类集合
fragment目录:

BaseFragment放到包的根目录下,其他与项目业务相关的fragment放到新建的以业务名称命名的子包目录下,如果项目比较简单,那么就统一放到normal目录下即可。
listener目录:监听器类集合
mvp目录:mvp模式的根目录
mvp/iview目录:mvp模式中的V
mvp/model目录:mvp模式中的M
mvp/presenter目录:mvp模式中的P
utils目录:常用工具类集合(注意,区别base中的utils目录,这里是仅在app中用到的工具类,不是通用工具类集合,通用工具类集合在base/utils目录中)
views目录:自定义view集合(注意,区别base中的views目录,这里是仅在app中用到的自定义view,不是通用自定义view集合,通用自定义view集合在base/views目录中)
MyApplication.java文件:项目声明的自定义Application类(注意:项目中所有需要在自定义Application中声明的方法,比如引入第三方平台时一些配置,都需要写在这里,而不是base中的BaseApplication或者thirdlib中的ThirdApplication中;)
res目录:就不需要多说了,需要注意,drawable-hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi目录需要自己创建,新建项目后没有的目录或者文件,可以从这里复制过去,当然了,自己新建目录或者文件即可。

build.gradle文件:只需要引用其他module即可。参考《Android Studio配置统一管理依赖版本号引用》
proguard-rules.pro文件:代码混淆配置。注意:项目中所有的代码混淆配置都写在这里,不要分开在base或者thirdlib中写。
base:其他module都可以引用base这个module
dialog目录:通用对话框集合(比如确认取消对话框等)
utils目录:通用工具类集合
views目录:通用自定义view集合
BaseApplication.java文件:Application基类,主要用于不同module中应用ApplicationContext对象。
res目录:就不多说了

thirdlib:第三方平台sdk集合
libs目录:第三方平台sdk中jar、arr文件集合
ThirdApplication.java文件:没有什么用,主要是为了以后在com.why.project.thirdlib下新建子包方便。
res目录:就不多说了

参考资料
暂时空缺
项目demo下载地址
https://github.com/haiyuKing/MyAppTemplet
Android项目目录结构模板以及简单说明【简单版】的更多相关文章
- Android项目目录结构模板以及简单说明
1) src 文件 编写java代码的文件目录,遵循java的命名规范.分包 2) gen 文件 包含了android的资源文件的标识符,是不需要程序员维护,是自动添加的 3) asse ...
- Android项目目录结构
JDK JDK是java语言的软件开发工具包,它包含了java的运行环境,工具集合,基础类库等内容 Android SDK 是谷歌提供的 Android 开发包,在开发Android 项目的时候 ...
- Android开发学习之路--Android Studio项目目录结构简介
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests ...
- 【Android Studio安装部署系列】三、Android Studio项目目录结构
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 简单介绍下Android studio新建项目的目录结构. 常用项目结构类型 在Android Studio中,提供了以下几种项目结 ...
- ASP.NET Core 基本项目目录结构 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 基本项目目录结构 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 基本项目目录结构 上一章节中我们成功创建了一个名为 Hell ...
- Android开发新手学习总结(六)——android开发目录结构【图文版】
转载链接:http://bbs.itcast.cn/thread-87059-1-1.html?rss 既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最 ...
- Android Studio目录结构浅析
让我们来简单了解下Android Studio中不同目录(文件)的位置和用途.首先看下一个App的最简单的目录结构 OK,我们这么看,第一,把这么多文件先分成这么三块1. 编译系统(Gradle)2. ...
- Android项目目录结构分析
Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...
- android studio 目录结构讲解
android studio 目录结构讲解 src 毫无疑问,src目录是放置我们所有 Java代码的地方,它在这里的含义和普通 Java 项目下的 src目录是完全一样的,展开之后你将看到我们刚才创 ...
随机推荐
- ATOM系列之-atom报错"Cannot load the system dictionary for zh-CN"
atom报错"Cannot load the system dictionary for zh-CN" 想必很多人(程序猿&程序媛)都和我一样,喜欢的这款很拉风的代码编辑器 ...
- ranker_worker.go
package outputDocs, numDocs := engine.rankers[shard].Rank(request.docs, request.options, req ...
- 【环套树+树形dp】Bzoj1040 [ZJOI2008] 骑士
Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火 ...
- BZOJ_3210_花神的浇花集会_切比雪夫距离
BZOJ_3210_花神的浇花集会_切比雪夫距离 Description 在花老师的指导下,每周4都有一个集会活动,俗称“浇水”活动. 具体浇水活动详情请见BZOJ3153 但这不是重点 花神出了好多 ...
- istio添加Fluentd
这个教程展示了istio如何自定义日志格式,并且将其发送给fluent.Fluentd 是一个开源的日志收集器,支持多种数据输出并且有一个可插拔架构.Elasticsearch是一个流行的后端日志记录 ...
- 阿里云大数据计算服务 - MaxCompute (原名 ODPS)
MaxCompute 是阿里EB级计算平台,经过十年磨砺,它成为阿里巴巴集团数据中台的计算核心和阿里云大数据的基础服务.去年MaxCompute 做了哪些工作,这些工作背后的原因是什么?大数据市场进入 ...
- ES 14 - (底层原理) Elasticsearch内部如何处理不同type的数据
目录 1 type的作用 2 type的底层数据结构 3 探究type的存储结构 3.1 创建索引并配置映射 3.2 添加数据 3.3 查看存储结构 4 关于type的最佳实践 1 type的作用 在 ...
- 深度解密Go语言之关于 interface 的10个问题
目录 1. Go 语言与鸭子类型的关系 2. 值接收者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 eface 的区别是什么 4. 接口的动态类型和动态值 ...
- Python基础 列表介绍、使用
第3章 学习目标: 列表是什么以及如何使用列表元素.列表让你能够在一个地方存储成组的信息,其中可以只包含几个元素,也可以包含数百万个元素.列表是新手可直接使用的最强大的Python功能之一,它融合了众 ...
- 《Jave并发编程的艺术》学习笔记(1-2章)
Jave并发的艺术 并发编程的挑战 上下文切换 CPU通过时间片分配算法来循环执行任务,当前时间片执行完之后会切换到下一个任务.但是,切换会保存上一个任务的状态,一遍下次切换回这个任务时,可以再次加载 ...