以前一直都是做PC产品的前后端开发,以及手机端或其他产品的接口开发。因为公司的发展规划,开始学习Android,在学习过程遇到各种问题,相信很多同行也是,本系列文章将针对 Android 开发进行逐一记录。
Android是为移动设备所提供的一系列软件,这包含了一个Android的操作系统、基于此操作系统的一些关键应用、以及为开发人员提供的Android SDK。其中Android SDK包含了用于开发Android平台应用程序所需要的工具和API,这些应用是使用Java开发的。
- 应用层
Android自带了一些核心应用,比如Email客户端、SMS程序、日历、浏览器等等,当然第三者开发的应用也属于这一层。 - Android应用框架
这是与开发人员关系最密切的一个部件,通过Android提供的开放的开发平台,开发人员可以自由的与移动设备的硬件进行交互、运行后台程序、设置报警、添加状态栏通知、创建与用户互动的界面等等,就像Android自带的核心应用一样,你可以访问Android框架提供的API。
Android的应用框架旨在简化组件的重用,当某个应用如果公开了某个功能,那么其他应用可以直接重用这个公开的部分。举个例子:如果你开发的一个应用程序需要用到发邮件这个功能,那么你可以直接方便的调用Android核心应用的发邮件,而不必再自己开发一套。
在这些Android应用的背后,有一系列的组件、服务在支撑着它们:
- View System提供丰富的以及可扩展的UI控件,让开发者构建出与终端用户互动的界面:List、Button、TextBox等等
- Content Providers让应用可以共享数据以及从其他应用获取数据
- Resource Manger让应用可以访问一些非代码的资源,如本地图片、布局文件
- Notification Manager让应用可以自定义状态栏信息
- Activity Manager管理着应用的生命周期
- Android类库
包含了很多Android系统组件用到的一些C/C++类库,这些组件特性通过Android FrameWork提供给开发者。 - Andorid运行时
包含了一些Java开发的运行时类库 - Linux内核
提供了Android的系统核心服务依赖,如安全、内存管理、进程管理、网络服务、驱动模型等,可以理解为介于硬件和软件的中间层。
1、基于Eclipse
Eclipse是著名的跨平台开源集成开发环境(IDE)。最初主要用来Java语言开发,亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。基于 Eclipse 可以搭建用于 Android 开发的环境。Eclipse + Java SDK (JDK)组成了基础的 Java 集成开发环境,ADT 作为插件为 Eclipse 提供 Android 开发的支持,再整合 Android SDK 后组成 Android 开发环境。
- IDE
Intelligent Development Environment 的简称,即智能开发环境。 - SDK
Software Development Kit 的简称,即软件开发工具包。一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
在 Java 中,Java SDK 也被称为 JDK,Java的开发工具包。包括了Java运行环境、Java工具和Java基础类库。
在 Android 中,它(Android SDK)为开发者提供了库文件以及其他开发所用到的工具。简单理解为 Android 开发工具包集合,是整体开发中所用到的工具包。Android SDK 采用了 Java 语言,需要 JDK 5.0及以上版本作为支持。 - ADT
Android Development Tools 的简称,即 Android 开发工具。可以理解为Eclipse的插件,它能在Eclipse 和 SDK 之间起一个桥梁的作用。ADT 是作为支持Android开发的插件,与Eclipse集成并升级为Android IDE,后面将介绍Eclipse + ADT的搭建。
另一种基于 Eclipse 的 Android 开发环境,直接下载官方提供的 ADT-Bundle,下载地址:https://www.androiddevtools.cn/
该工具是已经集成了 ADT 和 Android SDK 的 Eclipse,可直接使用。这种模式的开发环境具有整体性,不需要手动安装配置 ADT 和 SDK,集成组件统一升级, 但缺乏灵活性,由于国内对Google的访问限制,升级组件时可能遇到麻烦。
2、Android Studio