Android基础1

Android架构

  1. Linux内核层(Linux Kernel)
    Linux内核 + Driver

  2. 系统运行层库(Libraries + Android runtime)
    Libraries是C/C++编写的程序库,Android runtime是java虚拟机
    包括View、Content Providers、Resource Manager、Notification Manager、Activity Manager等

  3. 应用框架层(Application Framework java语言编写)
    提供了构建应用程序时可能用到的各种API

  4. 应用层(Application java语言编写)
    手机上的应用程序

Android开发需要工具

  1. JDK
    java语言软件开发工具包,包含了Java的运行环境、工具集合、基础类库等内容。

  2. Android SDK
    Android开发工具包

  3. Android Studio
    Android开发环境IDE

Android程序结构

AS目录结构图

.gradle AndroidStudio自动生成文件
.idea AndroidStudio自动生成文件
app
  -build 编译时自动生成的文件
  -libs 第三方jar包的存储目录,该目录下的jar包会自动添加到构建目录中
  -src
    -main
      -java 代码目录
      -res 资源目录
        -drawable 图片资源
        -layout 布局资源
        -mipmap 适配图片资源
        -values string,color,dimen,styles等
      -AndroidManifest.xml Android项目的配置文件,四大组件的声明,添加权限声明等
  -.gitignore app模块内将指定的文件或目录排除在版本控制之外的文件
  -app.iml iml是所有Intellij IDEA项目都会自动生成的一个文件
  -build.gradle app模块的gradle构建脚本
  -proguard-rules.pro 指定项目代码中的混淆规则
build 编译时自动生成的文件
gradle 包含了Gradle wrapper的配置文件
.gitignore将指定的文件或目录排除在版本控制之外的文件
项目名.iml iml是所有Intellij IDEA项目都会自动生成的一个文件
build.gradle 项目全局的gradle构建脚本
gradle.properties 全局的gradle的配置文件
gradlew 用来在命令行界面执行gradle命令的(Linux下用)
gradlew.bat 用来在命令行界面执行gradle命令的(Windows下用)
local.properties 指定本机的Android SDK的路径,自动生成
settings.gradle 用于指定项目中所有引入的模块  

build.gradle文件

全局项目gradle脚本

buildscript {
    repositories {
        jcenter()//代码托管仓库,声明后可以轻松引用jcenter上的开源项目
    }
    dependencies {
        //声明了Gradle插件
        classpath 'com.android.tools.build:gradle:2.3.0-beta3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}


app模块的gradle脚本

apply plugin: 'com.android.application'//标明该moudle是一个程序模块,可以直接运行.com.android.library标明是库模块,要依赖其他程序才可以运行

android {
    compileSdkVersion 25 //项目的编译版本
    buildToolsVersion "25.0.0" //构建工具的版本
    defaultConfig {
        applicationId "com.hblolj.androidft" //项目的包名
        minSdkVersion 14 //最低兼容的Android系统版本
        targetSdkVersion 25 //目标Android系统版本
        versionCode 1 //版本号
        versionName "1.0" //版本名
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false //不混淆
            //混淆时使用的规则文件 proguard-android.txt是在Android SDK下,是所有项目通用的混淆规则
            //proguard-rules.pro在项目的根目录下,可以编写当前项目的混淆规则
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

//指定当前项目的所有依赖关系
dependencies {
    compile fileTree(dir: 'libs', include: ['*.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.0.0'
    compile 'com.android.support:design:25.0.0'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4'
    testCompile 'junit:junit:4.12'
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值