AS的学习一

  • 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)这句声明就可以
}

你可能感兴趣的:(AS的学习一)