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目录是完全一样的,展开之后你将看到我们刚才创 ...
随机推荐
- BZOJ_1877_[SDOI2009]晨跑_费用流
BZOJ_1877_[SDOI2009]晨跑_费用流 题意: Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出 ...
- C语言实现十六进制字符串转数字
代码: int StringToInt(char *hex) { ]) * + CharToInt(hex[]); } int CharToInt(char hex) { ') '; if (hex& ...
- openoffice转换pdf 异常问题查找处理 errorCode 525
could not save output document; OOo errorCode: 525 该问题是由于java程序和openoffice的启动所属用户不同导致.使用以下命令查看端口和进程 ...
- 【SAP业务模式】之STO(二):系统配置
本篇博文开始讲述STO业务模式的配置! 一.定义发货工厂的装运数据: 目录:SPRO-物料管理-采购-采购订单-设置库存调拨订单-定义工厂的装运数据 定义发货工厂的装运数据: 为收货工厂分配客户代码: ...
- 设计模式-策略模式(strategy pattern)
来说说设计模式吧,最近开始看设计模式,觉得挺有意思的.设计模式网上的资料的挺多的,而且大部分是大家相互转来转去的.感觉也挺没有意思.我就自己写一点吧! 开始 学习设计模式,我会用自己的画的UML类图来 ...
- Node中流的概念
在学习node的过程中,对于流的概念一直不是很理解,通过查阅一些资料,现在将自己对流的一些理解进行总结一下. 一.流的理解 首先我们必须知道什么是流,很多书中只是提到使用流读写文件怎么怎么方便,却不提 ...
- ASP.NET Core 实现带认证功能的Web代理服务器
引言 最近在公司开发了一个项目,项目部署架构图如下: 思路 如图中文本所述,公司大数据集群不允许直接访问外网,需要一个网关服务器代理请求,本处服务器A就是边缘代理服务器的作用. 通常技术人员最快捷的思 ...
- android双待手机获取每一张SIM卡的imei
/** * create a TelephonyInfo.java class */import java.lang.reflect.Method; import android.content.Co ...
- Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...
- 『开源』扩展 JS 的 Date 处理函数
背景: JS 有自己的 时间类型 Date —— 但是,在某些情况下 这个对象似乎 不太好用. 本文 基于 JQuery 扩展了一些 JS日期函数,包括: > 字符串 转 Date 对象 万 ...