Android Studio项目结构
我们创建了一个Android Project,打开就如下图所示:
我们选择Project视图,就会有以下的项目文档结构:
上面笔者标注的数字是接下来要讲解的内容。
我们先来看1:
我们创建Application的时候,要求我们输入项目名称,1就是我们创建的项目,AndroidDevelopCourse是项目名称,在实际开发中,我们要为我们项目取一个能明确表达产品的名称,一般使用英文来描述,比如我们的课程是“Android开发课程”。1展开之后是我们完整的项目文档结构。
2: 我们的Android 模块,在AS当中,分为了Project(工作空间),Module(模块)两种概念,我们创建项目的时候会默认创建一个模块,这里的app就是我们的一个module,一个Android应用程序的文档结构。
3:libs,存放项目的类库,例如我们项目中用到的.jar文件。
4:src,Android项目的源文件目录,存放应用程序中所有用到的资源文件。
5:androidTest,存放我们应用程序单元测试代码,我们可以在这里进行单元测试。
6:main,Android项目的主目录,包含java目录存放.java源代码文件,res存放资源文件,包含图像、字符串资源等等,AndroidManifest.xml是项目的配置文件。
7:build.gradle,Android项目的Gradle构建脚本,详细解释看以下注释:
// 表示使用com.android.application插件。
apply plugin: 'com.android.application'
// 配置所有android构建过程需要的参数
android {
// 用于编译的SDK版本
compileSdkVersion 21
// 用于Gradle编译项目的工具版本
buildToolsVersion "21.1.2"
// 项目默认配置
defaultConfig {
// 应用程序包名
applicationId "com.devilwwj.androiddevelopcourse"
// 最低支持Android版本
minSdkVersion 14
// 目标版本
targetSdkVersion 21
// 版本号
versionCode 1
// 版本名称
versionName "1.0"
}
// 编译类型。默认两个:release和debug
buildTypes {
release {
// 设置是否使用混淆
minifyEnabled false
// 混淆文件
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
// 用于配置引用的依赖
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
}
8:build,Android studio项目的编译目录。
9:gradle,存放项目用到的构建工具。
10:build.gradle,Android Studio项目的构建脚本
// Top-level build file where you can add configuration options common to all sub-projects/modules.
// 用于设置驱动构建过程的代码
buildscript {
// 远程仓库
repositories
// 这里依赖的远程仓库是jcenter
jcenter()
}
// 声明了使用Android Studio gradle插件版本。
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
11:External Libraries,显示项目所依赖的所有类库。
以上基本上就是完整的Android Studio项目的文档结构,有一些IDE的配置文件这里我们无需关注。
Android Studio项目结构的更多相关文章
- Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...
- Android Studio 项目结构
在Android Studio中创建项目后,会出现 activity_main.xml 和 MainActivity.java 两个文件 其中 Java文件定义了一个Activity,当应用运行时, ...
- 10.5 详解Android Studio项目结构
Android项目的结构很复杂,并不像HTML项目,最简单的直接一个HTML文件就行了,相信学完上一节的同学就明白,哪怕是一个HelloWorld这样一个项目的文件可能都有几十个,所以我们需要搞清楚, ...
- 【Android Studio安装部署系列】三、Android Studio项目目录结构
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 简单介绍下Android studio新建项目的目录结构. 常用项目结构类型 在Android Studio中,提供了以下几种项目结 ...
- Android Studio项目转Eclipse项目
Android Studio项目的目录结构和Eclipse项目不同.如何转换? 以FloatingAction 项目为例:实现向上滑动隐藏悬浮按钮,向上滑动显示悬浮按钮. GitHub 地址:http ...
- Android Studio目录结构浅析
让我们来简单了解下Android Studio中不同目录(文件)的位置和用途.首先看下一个App的最简单的目录结构 OK,我们这么看,第一,把这么多文件先分成这么三块1. 编译系统(Gradle)2. ...
- android studio 目录结构讲解
android studio 目录结构讲解 src 毫无疑问,src目录是放置我们所有 Java代码的地方,它在这里的含义和普通 Java 项目下的 src目录是完全一样的,展开之后你将看到我们刚才创 ...
- Android Studio项目Gradle内网配置
由于内网无法连接到外部网络,在使用Gradle编译Android Studio项目时就会面临一些问题: 1.Gradle安装文件无法下载 2.Gradle Android插件无法下载 3.项目依赖文件 ...
- 如何在Android Studio项目中导入开源库?
前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发.然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不 ...
随机推荐
- 31. Flatten Binary Tree to Linked List
Flatten Binary Tree to Linked List Given a binary tree, flatten it to a linked list in-place. For ex ...
- inline-block和block的区别
<html> <head> <style> body,ul,li,span{padding:0px;margin:0px;} </style> < ...
- Android自动化初探:ADB
Info:经过一段时间的准备,从今天开始自学Android之旅,初步学习会有疏漏,以后的每篇文章,我都会不断修改补全,直到完美. 2014-10-09:初版 --------------------- ...
- C++ malloc new 的区别
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存. malloc实现了在堆内存管理中进行按需分配的机制,但是它不提供在C ...
- jquery radio取值,checkbox取值,select取值及选中
jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 获取一组radio被选中项的值 var item = $('in ...
- velocity模板使用建议
复杂页面前端模块化的方式: 方式一:iframe 方式二:velocity模板(#parse) 方式一,优点很多,也有缺点,例如页面之间传递参数等: 方式二,页面之间的调用,传参更容易,页面性能更好: ...
- SQL笔记-第六章,索引与约束
一.索引 CREATE INDEX 索引名 ON 表名(字段1, 字段2,……字段n) CREATE INDEX idx_person_nameage ON T_Person(FName,FAge) ...
- MySQL的数据库无法插入中文是怎么回事?
插入中文就报错: Incorrect string value: '\xE7\x8F\xBD\xE7\x8F\xBA' for column 'name' at row 1 用set names ut ...
- ios block和函数的区别
block是封装了一段代码的OC对象,可以被设为Property, 在调用block的地方block都会被替换成相应的代码,相当于内联函数. 函数可以使代码更加整洁易读,使用block会使代码可读性变 ...
- 开发BBS论坛
一.涉及表结构 web\model.py(首选需要注意表结构的设计,如果表结构设计出来了,软件的架构也就基本出来了) #!/usr/bin/env python # _*_ coding:utf- _ ...