Android开发基础1 - 启程

1. Android系统架构

四层架构: Linux内核层 系统运行库层 应用框架层 应用层
如图所示:

1.1 Linux内核层

Android系统是基于 Linux 内核的,这层为Android设备的各种硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。

1.2 系统运行库层

这一层通过一层C/C++库来为Android系统提供了主要的特性支持。如SQLite库(数据支持)等。

同样在这一层还有Android运行时库,主要提供了一些核心库,能允许开发者使用Java语言来编写Android应用。另外,Android运行时库还包含了Dalvik虚拟机(5.0系统之后改为ART运行环境)。

1.3 应用框架层

这一层主要提供了构建应用程序时可能用到的各种API。

1.4 应用层

所有安装在手机上的应用程序都是属于这一层,包括你自己开发的程序。

2. Android四大组件

活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供器(Content Provider)。

3. Android Studio中的build.gradle文件解析

先看下app目录下的 build.gradle 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "24.0.2"

defaultConfig {
applicationId "com.example.networktest"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
targetCompatibility 1.7
sourceCompatibility 1.7
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.google.code.gson:gson:2.7'
}

在这主要分析 buildTypes 闭包:
buildTypes闭包中用于指定生成安装文件的相关配置,一般有两个子闭包:debug(可忽略不写)、release。

release 闭包中:

  • minifyEnabled 用于指定是否对项目的代码进行混淆,true表示混淆,false表示不混淆。
  • proguardFiles 用于指定混淆时使用的规则文件:第一个 proguard-android.txt 是在Android SDK目录下的,里面是所有项目通用的混淆规则;第二个 proguard-rules.pro 是在当前项目的根目录下的,里面可以编写当前项目特有的混淆规则。

4. Android Studio中的一些快捷键

  • 运行程序:Shift+F10
  • 打印 debug 级别的日志:输入logd后按下 Tab 键
  • 打印 info 级别的日志:输入logi后按下 Tab 键
  • 打印 warn 级别的日志:输入logw后按下 Tab 键 … 以此类推
  • 生成 TAG 常量:在 onCreate()方法的外面输入logt后按下 Tab 键
Jason Xu wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!