开启Android之旅
2019-11-21 22:56:02 17 举报
AI智能生成
登录查看完整内容
android 简介 android studio 简介
作者其他创作
大纲/内容
Android系统架构
Linux内核层
Display Driver
显示驱动
Camera Driver
照相机驱动
Buletooth Driver
蓝牙驱动
Flash Memory Driver
闪存驱动
Binder Driver(IPC)
IPC通讯驱动
USB Driver
USB驱动
Keypad Driver
键映射驱动
WIFI Driver
Wifi驱动
Audio Drivers
音频驱动
Power Management
电量管理驱动
系统运行库层
Android运行时
Core Libraries
Core Libraries 提供了Java语言核心库(Java SE API)的大部分功能,并提供Android的核心API,如android.os、android.net、android.util、android.meida等
Dalvik虚拟机(5.0之后改为ART)
ART(Andorid Runtime)是Google在新版Android系统中引入的运行时环境
系统库C/C++程序库
Surface Manager
负责管理显示与存取操作间的互动,另外也负责将2D绘图与3D绘图进行显示上的合成
Media Framework
多媒体库,支持多种常用的音频、视频格式录制和回放。
SQLlite
轻型的关系型数据库引擎
OpenGL|ES
3D绘图函数库
FreeType
可移植的字体引擎,它提供统一的接口来访问多种字体格式文件
WebKit
浏览器内核库
SGL
底层的2D图形渲染引擎
SSL
安全套接层,是为网络通信提供安全及数据完整性的一种安全协议
Libc
从BSD继承来的标准C系统函数库,专门为基于嵌入式Linux的设备定制
应用框架层
Activity Manager
管理各个应用程序活动窗口并为窗口提供交互的接口
Window Manager
管理所有开启的窗口程序
Content Provider
提供应用内或应用程序间数据共享功能
View System
创建应用程序基本视图组件,如ListView、TextView、WebView等控件
Notification Manager
用户可以自定义状态栏中的提示信息
Package Manager
应用程序安装进手机后,以包名作为文件夹名进行存储,此API提供诸如应用程序的安装与卸载功能以及提示相关的权限信息
Resource Manager
提供图片、音视频等非代码资源
Location Manager
提供位置信息服务
Telephony Manager
管理所有移动设备功能
XMPP服务
Google提供的后台推送服务
应用层
Home
Contacts
Phone
Browser
你所安装的一切app
安卓开发特色
四大组件
activity是所有Android应用程序的门面,凡是应用中看得到的东西,全部放在activity中
service无法看到,但它会一致在后台默默的运行,即使用户退出了应用,service仍然是可以继续运行的
broadcast receiver允许你的应用接收来自各处的广播消息,比如电话、短信等。当然,你的应用也可以向外发出广播消息
content provider则为应用程序之间共享数据提供了可能,比如你想要读取系统电话本中的联系人,就需要通过content provider来实现
丰富的系统控件
各种布局控件
还可以自定义控件
SQLite数据库
轻量级、运算速度极快的嵌入式关系型数据库
它不仅支持标准的SQL语法
强大的多媒体
音乐、视频、录音、拍照、闹铃
地里位置定位
创建项目
Name
应用名称
PackName
你的包名
Mini API level
最小支持版本,选择百分比越高越好
启动模拟器
夜神模拟器
创建自带模拟器
使用日志工具Log
android.util.Log
Log.v()
verbose级别最低
Log.d()
debug调试信息
Log.i()
info比较重要的数据
Log.w()
warn警告信息
Log.e()
error错误信息
为什么使用Log
因为android studio有logcat方便查询
有级别过滤器
Android 第一课时 by姚鑫
简介
Android系统是目前世界上市场占有率最高的移动操作系统
2003年10月,Andy Rubin等人一起创办了Andorid公司
2005年8月,谷歌收购了这家仅仅成立了22个月的公司,并让Andy Rubin继续负责Android项目
2008年推出了Android系统的第一个版本
仅仅推出2年Android就超过了已经霸占市场逾十年的Symbian
由于谷歌开放政策,任何厂商个人都能免费获取到Andorid操作系统源码,自由定制,迎来了春天
Android发布的版本
API
版本代号
版本号
发布日期
1
Base
1.0
2008-09
2
Base_1_1
1.1
2009-02
3
Cupcake
1.5
2009-04
4
Donut
1.6
2009-09
5
Eclair
2.0
2009-10
6
Eclair_0_1
2.0.1
2009-12
7
Eclair mr1\t
2.1.x\t
2010-01
8
Froyo
2.2 / 2.2.1~2.2.3
2010-05 / 2011-01~11
9
Gingerbread
2.3 / 2.3.1 / 2.3.2
2010-12/12 / 2011-01
10
\tGingerbread mr1
2.3.3 ~2.3.7
2011-02~2011-09
11
Honeycomb
3.0.x
2011-02
12
Honeycomb mr1
3.1.x
2011-05
13
\tHoneycomb mr2
3.2 / 3.2.1~3.2.6
2011-07/ 2012
14
Ice Cream Sandwish
4.0 / 4.0.1 / 4.0.2
2011-10/ 10/ 11
15
\tIce Cream Sandwish mr1
4.0.3 / 4.0.4
2011-12 / 2012-03
16
\tJelly Bean
4.1 / 4.1.1 / 4.1.2
2012-07/ 07/ 10
17
Jelly Bean mr1\t
4.2 / 4.2.1 / 4.2.2
2012-11/ 11 / 2013-02
18
Jelly Bean mr2
4.3 / 4.3.1
2013-07/ 10
19
Kitkat
4.4 / 4.4.1~4.4.4
2013-10 / 2014-06
20
4.4w / 4.4w.1 / 4.4w.2
2014-06/ 09/ 10
21
Lollipop
5.0 / 5.0.1 / 5.0.2
\t2014-11/12
22
5.1 / 5.1.1
2015-03/04
23
Marshmallow
6/6.0.1
2015-10
24
Nought
7.0
2016-08
25
7.1/7.1.1
2016-10
26
Oreo
8.0
2017-03
27
8.1
2017-12
28
Pie
9.0
2018-08
29
Q
10.0
2019-03
搭载开发环境
JDK8
推荐JAVA8
Android Studio
推荐3.0以后版本
下载地址
Download Android Studio and SDK tools | Android Developershttps://developer.android.google.cn/studio/
Android Studio 中文社区-安卓开发者工具集:Android SDK/JDK/ADT/Gradle/App-3.0正式版下载/安装/教程/外包/招聘http://www.android-studio.org/
夜神安卓模拟器-安卓模拟器电脑版下载-官网https://www.yeshen.com/
项目目录分析
.idea
自动生成的文件,无须关心,也不用手动编辑
app
项目中的代码,资源文件,主要工作目录
build
编译时生成文件
libs
第三方jar包
androidTest
编写Android Test测试用例,可以对项目进行一些自动化测试
java
java目录代码存放的地方
res
资源目录
anim
动画
drawable
资源文件
layout
布局
menu
菜单
raw
声音
values
全局变量文件
string
字符串引用
arrays
数组引用
colors
颜色引用
dimens
单位引用
styles
样式引用
xml
mipmap
存放应用图标
不同分辨率显示不同的布局
AndroidManitest.xml
项目配置文件,声明四大组件,给程序添加权限
activity标签代表对活动进行注册
android.intent.action.MAIN
启动页面
android.intent.category.LAUNCHER
test
单元测试,对项目进行自动化测试的另外一种方式
.gitignore
将app模块内的指定的目录文件排除在版本控制之外
app.iml
自动生成的文件,无须关心
build.gradle
app模块的gradle构建脚本,一般引用依赖库,框架等
内层gradle
apply plugin: 'com.android.application'
应用程序模块
android闭包
compileSdkVersion
编译版本
buildToolsVersion
用于指定项目构建工具的版本
defaultConfig闭包
applicationId
用于指定项目的包名
minSdkVersion
最低兼容的Android系统版本
targetSdkVersion
目标版本
versionCode
versionName
版本名
buildTypes闭包
release闭包
minifyEnabled
是否代码混淆
proguardFiles
混淆规则
getDefaultProguardFile('proguard-android.txt')
通用混淆规则 SDK目录下
'proguard-rules.pro'
当前目录下
debug闭包
一般可省略
dependencies闭包
指定当前项目所有的依赖关系
本地依赖
可以对Jar包或目录直接添加依赖关系
库依赖
对项目中的库添加依赖关系
声明方式 implementation project(':filedialog')
远程依赖
可以对jcenter库上的开源项目添加依赖关系
本地依赖声明,表示libs目录下所有.jar后缀文件都添加到项目的构建路径当中
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation远程依赖声明
com.android.support是域名部分
appcompat-v7是组件部分
28.0.0版本号
testImplementation 'junit:junit:4.12'
声明测试用例的库一般用不到
proguard-rules.pro
混淆规则,当发布apk时,不希望代码被人破解,通常进行混淆,让破解者难以阅读
编译时自动生成的文件
gradle
包含gradle wrapper的配置文件,根据缓存情况是否联网下载gradle
用来讲指定的陆慕或文件排除在版本控制之外的
项目全局的gradle构建脚本,通常不需要修改
是一个非常先进的项目构建工具
基于Groovy的领域特定语言(DSL)来声明设置
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码
外层build.gradle
jcenter()
代码托管库,可以引用jcenter上开源的项目
classpath 'com.android.tools.build:gradle:3.4.0'
最后面是版本号
gradle.properties
全局的gradle配置文件,在这里配置的属性将会影响项目中所有的gradle编译脚步
gradlew
Linex或Mac系统中使用,执行gradle命令
gradlew.bat
在windows系统中使用,执行gradle命令
local.properties
指定本机SDK路径,自动生成,一般无须关心
*.iml
标识这是一个IntelliJ IDEA项目 ,无须关心
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境
settings.gradle
指定项目引入模块,一般都是自动生成无须手动改
常用快捷键
错误提示,自动补全
ALT+ENTER
全局查找
SHIFT+SHIFT
切回上一界面
CTRL+TAB
查看继承关系
F4
调试运行
ALT+SHIFT+D
直接运行
ALT+SHIFT+X
查看可重写方法
ALT+Q
工欲善其事必先利其器
0 条评论
回复 删除
下一页