初识Android工具和架构

初识Android工具

一.Android Studio左侧导航栏的介绍:
在这里插入图片描述
1.build:编译自动生成的文件
2.gradle:gradle wrapper配置文件
3…gitignore:哪些文件排除在版本控制之外
4.Build.gradle:项目全局gradle脚本
5.Grale.properties:全局gradle配置文件,配置相关属性
6.gradlew和gradlew.bat:命令行界面执行gradle命令
7.Local.properties:本机SDK路径
8.Setting.gradle:制定项目所有引入的模块,目前只有app模块
9.app目录:项目代码、资源
9.1.build:系统自动生成文件
9.2.libs:第三方jar包
9.3.androiTest:Android test自动化测试用例
9.4.Java:所有java代码放置地方,MainActivity.java
9.5.res:图片、布局、字符串等
9.6.AndroidManifest.xml:项目配置文件,譬如四大组件的定义
9.7.Test:unit test自动化测试用例
9.8.Build.gradle:app模块的gradle构建样本,项目构建相关配置
9.9.Progurad-reles.pro:执行项目混淆规则
10.res目录:图片、布局、字符串等
10.1.drawable:图片
10.2.Mipmap:图标(不同后缀更好兼容设备)
10.3.Vaules:字符串、样式、颜色等。以下为values的内容

二.最外面层build.gradle文件的介绍

//Gradle是基于Groovy领域特定语言(DSL)来进行项目设置的。
buildscript {
    ext.kotlin_version = '1.3.71'
    //闭包声明了两个代码仓库
    repositories {
        google() //google扩展依赖库
        jcenter()//第三方开源库
 
    }
    //使用classpath声明了两个插件
    dependencies {
        //Gradle插件的目的是构建android项目,与AS版本一致
        classpath 'com.android.tools.build:gradle:3.6.3'
        //Kotlin插件
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
 
allprojects {
    repositories {
        google()
        jcenter()
    }
}

三.app层build.gradle的介绍

apply plugin: 'com.android.application'//应用程序模块,也可以设置为库模块
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'//kotlin模块和扩展功能
//项目构建的各个属性
android {
    compileSdkVersion 28  //指定项目编译版本
    buildToolsVersion "29.0.3"  //Android10.0SDK编译
    //项目更多细节配置
    defaultConfig {
        applicationId "com.example.myapplication"//应用唯一标识符
        minSdkVersion 21///项目最低兼容版本,最低兼容5.0
        targetSdkVersion 28//目标版本,在该版本充分测试,启用新特性,9.0
        versionCode 1 //项目版本号
        versionName "1.0"//项目版本名
        //启用Junit测试用例
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    //生成安装文件的相关配置
    buildTypes {
    //一般一个release包(正式版安装文件配置),一个debug包(测试版安装文件配置)。
        release {
            minifyEnabled false//是否对项目混淆
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //选择混淆规则
        }
    }
 
}
//指定项目所有依赖关系。本地依赖(jar包或者目录)、库依赖(项目中的库模块)和远程依赖(jcenter仓库开源项目)。
dependencies {
    //implementation fileTree本地依赖,libs目录底下的所有jar包  
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    //implementation远程依赖声明,标准远程库格式,androidx.appcompat:为域名部分,appcompat为工程名,1.0.2是版本号
    //Gradle构建时会检查本地是否有库缓存,没有会自动联网下载并添加到项目构建路径
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.core:core-ktx:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    //implementation project是库依赖,譬如一个库名叫help,可以声明为(implementation project('help'))
    //声明测试用例库的
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

Android系统的架构
Android的系统的架构主要分为四层架构,五块区域.
四层架构如下介绍:

  1. Linux 内核层
    Android 系统是基于 Linux 2.6 内核的,这一层为 Android 设备的各种硬件提供了底
    层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。
  2. 系统运行库层
    这一层通过一些 C/C++库来为 Android 系统提供了主要的特性支持。如 SQLite 库提
    供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核
    的支持等。
    同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者使用 Java 语言来编写 Android 应用。另外 Android 运行时库中还包含了 Dalvik 虚拟机,它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、
    CPU 性能有限等情况做了优化处理。
  3. 应用框架层
    这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序。
  4. 应用层
    所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。

四.Android的四大组件
Android的四大组件分别是:
活动Activity,
服务Service,
广播BroadcastReceiver)

内容提供器ContentProvider.`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值