2020.3月逐渐推出Android 11版本。5.0使用ART虚拟机代替DVM虚拟机,提出Material Design来优化界面设计,5.0以上占比超过85%。
- 1.1.2.Android应用开发特色
(1)四大组件 :Activity、Service、BroadcastReceiver、ContentProvider。Activity是应用程序显示的界面;Service后台默默运行,即使用户退出app;BroadcastReceiver使得app接受各处广播消息,也可以向外发出消息;ContentProvider可以使得app之间的数据共享。譬如:读取联系人;
(2)丰富系统控件: Android界面系统控件和自定义控件。
(3)SQLite数据库: 轻量级、运算速度极快的嵌入式关系型数据库。支持SQL语法和系统API。
(4)强大多媒体: 音乐、视频、录音、拍照等。
1.2.搭建开发环境
JDK(java运行环境、工具集合、基础类库)+SDK(android开发工具包)+Android studio
1.3.创建Android项目
- 1.3.1.文件结构解析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fcAg87gb-1651130648635)(https://upload- 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 images.jianshu.io/upload_images/22459598-921baf6f6365a7fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
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的内容
通过R.string.app_name或者@string/app_name获得该字符串的引用。
- 1.3.2.详解build.gradle文件
最外层目录的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’
//选择混淆规则
}
proguardFiles getDefaultProguardFile(‘proguard-android-optimize.txt’), ‘proguard-rules.pro’
//选择混淆规则
}