Andorid学习笔记
1. Android简介及开发环境
1.1 Android平台架构
- 应用程序层
包括Android系统提供的应用程序以及用户安装的用户程序。Android系统本身提供电子邮件客户端、日历、地图、浏览器以及联系人等。 - 应用程序框架层
Android应用程序框架层提供了大量的API供开发者使用,Android系统提供的应用以及用户安装的应用都是基于应用程序框架进行开发的。 - 函数库
Android包含一套被不同组件所使用的C/C++库的集合。 - Android运行时
Android运行时包括Android核心库和Dalvik虚拟机。 - Linux内核
Android系统建立在Linux 2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动等。
1.2 搭建Android开发环境
- 下载安装JDK
JAVA_HOME=D:\Java\jdk1.8.0_20
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar - 下载解压Android SDK
2.1 配置环境变量
ANDROID_SDK=D:\android-sdk
2.2 使用SDK manager.exe在线安装Android文档
SDK platform、Arm system images、Google APIs(必选),samples for SDK, source for android SDK(可选) - 下载解压ANT
D:\android-sdk\apache-ant-1.9.4 - 配置path环境变量
path=%JAVA_HOME%\bin;%ANDROID_SDK%\platform-tools;%ANDROID_SDK%\tools;%ANDROID_SDK%\build-tools\20.0.0;%ANT_HOME%\bin - 安装Eclipse和ADT插件
5.1 选择Eclipse Luna版本
5.2 安装ADT,包括Developer tools和NDK plugins(用作C/C++开发)
1.3 Android常用开发工具
- Android命令
创建AVD,Android 工程等。 - Emulator命令
运行AVD。 - DDMS调试工具
可以进行进程显示、线程跟踪、heap内存跟踪、模拟器模拟拨打电话、发送短信等。 - ADB命令
可以和模拟器或者手机进行文件相互复制、通过shell访问模拟器或者手机、安装或卸载APK包。 - DX命令
将.class文件转化成.dex文件(Dalvik虚拟机可执行文件)。 - AAPT命令
将工程清单文件、资源文件、数据库文件等打包
1.4 Android组件介绍
- Activity
Activity为Android应用提供了可视化的用户界面,如果包含多个用户界面,那么这个Android应用程序将会包含多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶。 - Service
Service位于后台运行,为其他组件提供后台服务或者监控其他组件的运行状态。 - Broadcast Receiver
Broadcast Receiver用作监听其他组件的广播消息,通过Intent Filter来过滤消息,并且通过回调函数进行处理(onReceiver方法)。 - Content Provider
由于Android不同应用运行在不同的Dalvik实例下,如果他们需要进行数据交互,那么就需要通过Content Provider来实现。一个应用程序通过Content Provider暴露自己的数据,另一个应用程序通过ContentResolver来访问数据。 - Intent和Intent Filter
5.1 Intent不是组件,但它对Android来说非常重要,它是不同Android应用之间通信的载体(用在Activity,Service,Broadcast Receiver间通信,而Content Provider则不用)。
5.2 Intent分为显示和隐式两种,显示Intent明确指定需要启动组件的类名,隐式则通过Intent Filter来找到满足条件的组件。
1.5 Android应用签名
主要作用:
1. 明确发布者身份。
2. 保证应用程序的完整性。