- 1
AppCompatActivity 是一种向下兼容的Activity,可以将Activity在各个系统版本中增强的特性和功能
最低兼容到Android 2.1 系统 - 2
对于资源的使用一般都是通过两种,R.string.app_name或者是@string/app_name都可以找到位于
目录下面的内容。 - 3
Gradle 是一个项目构建工具,基于Groovy领域特定语言(DSL)来申明项目设置。
最外层的build.gradle文件:里面代码大部分是自动生成的。
repositories {
jcenter()
}
声明的jcenter()这个配置,就是一个代码托管仓库,我们可以轻松引用任何jcenter上的开源项目了
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
这是引用了gradle插件,因为gradle不仅仅是给android用的,还有java 等,这里是声明是给android用,后面是版本
最内层的build.gradle,就是项目中的gradle:
apply plugin: 'com.android.application'//可以选择两种:com.android.application表示这是一个应用程序模块,
//com.android.library 表示这是一个库模块,前者可以直接运行,后者作为代码库依附于别的应用程序模块运行
android {
compileSdkVersion 25 //表示指定项目的编译版本,
buildToolsVersion "25.0.1"//表示指定项目构建工具的版本,
defaultConfig {//里面对于项目进行细节配置
applicationId "com.yuyi.myapplication" //表示指定的包名
minSdkVersion 15 //表示项目最低兼容的android系统版本
targetSdkVersion 25//表示你已经在目标版本做过了充分的测试,会为你展示当前版本的新的功能和特性
versionCode 1 //指定项目的版本号
versionName "1.0" //指定的项目的版本名
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes { //用于指定生成安装文件的相关配置,通常有debug和release两个闭包
release { //用于指定生成正式版安装文件的配置。
minifyEnabled false //表示是否对项目的代码进行混淆,false表示不混淆。
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//表示指定混淆使用的规则文件,一般指定两个文件proguard-android.txt是指在Android SDK目录下,里面是所有项目通用的混淆规则,
//proguard.rules.pro 实在当前项目的根目录下的,里面可以编写当前项目特有的混淆规则,。
}
}
}
dependencies { //这里面是指定当前项目所有的依赖关系。通常有三种依赖方式,本地依赖、库依赖、远程依赖、
compile fileTree(include: ['*.jar'], dir: 'libs') //本地依赖声明,它表示将libs目录下所有.jar后缀的文件都添加到项目的构建路径当中。
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})//表示声明测试用例库的。
compile 'com.android.support:appcompat-v7:25.1.0' //表示的是标准的远程依赖库格式,com.android.support是域名部分,用于和其它公司区分,appcompat-v7 是组名称,
//用于和同一个公司中不同的库做区分,Gradle 在构建项目时候首先检查本地是否有藏歌库的缓存,如果没有就回去自动联网下载。然后再添加到项目的构建路径当中。
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:25.1.0'
compile 'com.loopj.android:android-async-http:1.4.9'
//库依赖的声明,compile project 后面加上依赖的库名称,比如:compile project(':helper)这句声明就可以
}