- 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"http://表示指定項目構建工具的版本,
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)這句聲明就可以
}