随着Android大军的突起,越来越多的人涌入了Android的阵营中,而本节将分为三步走,带你感受Android历史与将来~
Android简述
什么是Android呢?Android,是一种基于Linux的自由及开放源代码的操作系统,主要应用于移动设备,例如手机,平板等。
在这里不得不提,由于Android系统的开放性,使得Android逐日变得越来越优秀,But,凡事儿有利有弊,开放性的同时也为我们开发过程中带来了一些难题。
Android历史
2003年10月,Andy Rubin等人创建Android公司,并组建Android团队; (意味Android的诞生)
2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队; (意味Android拥有了雄厚的资源与强势的背景,同时也为将来征战四方打下基础)
2007年11月5日,谷歌向外界展示了名为Android的操作系统,并在当天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发商及电信营运商组成 开放手持设备联盟(Open Handset Alliance) 来共同研发改良Android系统,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码; (新生的系统,强势的背景,雄厚的资源)
2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本; (Android正式启航)
2010年2月份,Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(“staging tree”)上除去,从此,Android与Linux开发主流将分道扬镳。在同年5月份,谷歌正式发布了Android 2.2操作系统。谷歌将Android 2.2操作系统命名为Froyo,翻译完名为冻酸奶;
2010年10月份,谷歌宣布Android系统达到了第一个里程碑,即电子市场上获得官方数字认证的Android应用数量已经达到了10万个,Android系统的应用增长非常迅速。在2010年12月,谷歌正式发布了Android 2.3操作系统Gingerbread (姜饼)
2011年1月,谷歌称每日的Android设备新用户数量达到了30万部,到2011年7月,这个数字增长到55万部,而Android系统设备的用户总数达到了1.35亿,Android系统已经成为智能手机领域占有量最高的系统;(Android翻开新的篇章:辉煌)
2011年8月2日,Android手机已占据全球智能机市场48%的份额,并在亚太地区市场占据统治地位,终结了Symbian(塞班系统)的霸主地位,跃居全球第一;(一战成名,笑傲江湖)
2013年11月1日,Android4.4 KitKat(奇巧巧克力)正式发布,从具体功能上讲,Android4.4提供了各种实用小功能,新的Android系统更智能,添加更多的Emoji表情图案,UI的改进也更现代,如全新的HelloiOS7半透明效果;(历史上重大改版,再次翻开新的篇章:巅峰)
2014年11月3日,Android 5.0 Lollipop(棒棒糖)正式发布。 并且从Android 5.0 后,谷歌推出一种全新新的Material Design设计风格,也被称为一门新的设计语言,并逐渐在Android各大应用上尽情绽放光彩;
2015年5月28日,Android 6.0 Marshmallow(棉花糖)正式发布。 新系统的整体设计风格依然保持扁平化的MeterialDesign风格。Android6.0在对软件体验与运行性能上进行了大幅度的优化,并且新增运行时权限、低电耗模式和应用待机模式省电功能、新的协助技术等。例如普遍耗电问题,据测试,Android6.0可使设备续航时间提升30%;
2016年8月22日,Android 7.0 Nougat(牛轧糖)正式发布。 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更,重点关于点在于权限的严格控制与管理;
2017年5月,Android 8.0 Oreo(奥利奥)正式发布。引入官方对其描述:更智能、更迅捷、更强大。广受世人喜爱的不仅仅是曲奇饼干,更是为您打造的全新 Android 系统。它主要更新内容便是继续深入优化了电源及性能,并提供了多种全新方式来扩展应用。例如:通知渠道、画中画、自动填充、自适应图标等。
当然Android的历史之路当然不止上面所述的几个版本而已,这里只是为大家简述,了解即可。谷歌官方版本的不断升级也为自己赢得一个当之无愧的称号:版本帝~!
而目前移动端,几乎划分为Android、IOS俩大阵营,当然还有微软的WinPhone和其他一些占比比较低的阵营,Android几乎属于霸主的地位。
Android系统架构
放出官方图一张

第一层为:系统应用层
Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用。平台随附的应用与用户可以选择安装的应用一样,没有特殊状态。因此第三方应用可成为用户的默认网络浏览器、短信 Messenger 甚至默认键盘(有一些例外,例如系统的“设置”应用)。
系统应用可用作用户的应用,以及提供开发者可从其自己的应用访问的主要功能。例如,如果你的应用要发短信,无需自己构建该功能,可以改为调用已安装的短信应用向你指定的接收者发送消息。
第二层为:Java API 框架
可通过以 Java 语言编写的 API 使用 Android OS 的整个功能集。这些 API 形成创建 Android 应用所需的构建块,它们可简化核心模块化系统组件和服务的重复使用,包括以下组件和服务:
丰富、可扩展的视图系统,可用以构建应用的 UI,包括列表、网格、文本框、按钮甚至可嵌入的网络浏览器;
资源管理器,用于访问非代码资源,例如本地化的字符串、图形和布局文件;
通知管理器,可让所有应用在状态栏中显示自定义提醒;
Activity 管理器,用于管理应用的生命周期,提供常见的导航返回栈;
内容提供程序,可让应用访问其他应用(例如“联系人”应用)中的数据或者共享其自己的数据。
第三层:原生 C/C++ 库
许多核心 Android 系统组件和服务(例如 ART 和 HAL)构建自原生代码,需要以 C 和 C++ 编写的原生库。Android 平台提供 Java 框架 API 以向应用显示其中部分原生库的功能。例如,您可以通过 Android 框架的 Java OpenGL API 访问 OpenGL ES,以支持在应用中绘制和操作 2D 和 3D 图形; 如果开发的是需要 C 或 C++ 代码的应用,可以使用 Android NDK 直接从原生代码访问某些原生平台库
第四层:Android Runtime
对于运行 Android 5.0(API 级别 21)或更高版本的设备,每个应用都在其自己的进程中运行,并且有其自己的 Android Runtime (ART) 实例。ART 编写为通过执行 DEX 文件在低内存设备上运行多个虚拟机,DEX 文件是一种专为 Android 设计的字节码格式,经过优化,使用的内存很少。编译工具链(例如 Jack)将 Java 源代码编译为 DEX 字节码,使其可在 Android 平台上运行。 ART 的部分主要功能包括:
预先 (AOT) 和即时 (JIT) 编译;
优化的垃圾回收 (GC);
更好的调试支持,包括专用采样分析器、详细的诊断异常和崩溃报告,并且能够设置监视点以监控特定字段;
在 Android 版本 5.0(API 级别 21)之前,Dalvik 是 Android Runtime。如果您的应用在 ART上运行效果很好,那么它应该也可在 Dalvik 上运行,但反过来不一定。
Android 还包含一套核心运行时库,可提供 Java API 框架使用的 Java 编程语言大部分功能,包括一些 Java 8 语言功能
第五层:硬件抽象层 (HAL)
硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。
第六层:Linux 内核
Android 平台的基础是 Linux 内核。例如,Android Runtime (ART) 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。
使用 Linux 内核可让 Android 利用主要安全功能,并且允许设备制造商为著名的内核开发硬件驱动程序
工欲善其事,必先利其器
工欲善其事,必先利其器。掌握好的开发工具,总是使我们开发过程中事半功倍。
话说当年开发Android第一利器当属Eclipse,而随着谷歌BaBa突然对Eclipse以后不支持ADT更新,并且推出Android Studio作为首位开发Android的软件,让我们这些吃瓜群众实属大惊。
在这里不得不吐槽的是,早期的Android Studio稳定性相对来讲比较low,随着版本迭代升级,现在Android Studio可谓空前强大,让人爱不释手。
到目前为止,Android Studio稳定版本为2.3.3,而关于Android Studio 3.0却只是Beta 5。而我们今天将依据Android Studio 3.0 Beta 5版本进行举例说明如何在本机一步步配置到最后使用Android Studio。
Android Studio 3.0 Beta 5 下载 官方地址如下:
小伙伴们可从官方地址下载AS抢先试用。点击下载后,勾选确定阅读许可协议,方可开始下载。

解压安装
将下载好的AS解压到本地目录下面,最好新建AndroidStudio3.0目录,方便管理,当然,尊重个人习惯。
解压完成后,进入bin目录下,双击studio64.exe,开始运行安装。

双击之后,弹出如下提示框,下面将分别为大家介绍每个的含义or作用:

完成AS安装需要设置如下选项:
导入之前Android Studio 2.3配置信息;
自定义位置以及配置文件夹或安装之前的版本;
不导入任何配置。
这里我们选择不导入任何配置,纯天然,无污染,一切从新开始。点击确定后,启动AS 3.0 Beta 5。

启动完成后会提示一个找不到SDK位置,不要着急,因为我们选择的是重新开始~

直接关闭,AS会自动查找可用的SDK。

运行AS安装向导
Welcome Android Studio~!
简单翻译内容如下:运行此工作向导将为Android开发设置开发环境,此外此向导还会帮助开发者创建首个Android项目。

选择你想要安装的Android Studio类型,此时有如下俩个选择:
1、标准版:Android Studio将安装使用最常见的设置和选项。建议大多数用户选择此项
2. 自定义:你可以自定义安装设置和组件安装
这里我们选择自定义,也就是下面的选项,因为后期会有一个SDK的下载,一般来讲都是我们确定好统一目录,方便管理,这里选择推荐的,它默认下载到C盘中,个人不推荐。

选择你的撸码UI界面风格

这一步可以手动选择SDK下载存放位置。

好了,到此 AS 3.0 Beta 5安装完毕。

了解与Android沟通的语言
Android开发语言简述
说到开发Android的语言,首先脑海里一定会浮现Java。那我们就从Java入手。
Java-万物皆对象
Java的编程思想,万物皆对象(OOP),那么这个又该如何理解呢?如何将现实抽象手下的码中呢?
假设一只可爱的猫咪,它具有哪儿些特征呢?
性别:帅气小王子还是傲娇小公主;
...
那么它具有哪儿些行为呢?
小家伙总是很贪玩;
...
那么依据以上分析,我们创建如下类去实现将显示中的猫咪转化代码上的猫咪:
public class Cat{
// 具有的特征 也被称为属性
private String sex;
// 具有的行为 可以理解为它具有的方法
protected void getPlay(){} }
到此,我们已实现将现实中的猫咪转化为代码界中的猫咪了。那么大家这时候就会问了,这和我开发Android有什么关系?
其实,你如果掌握开发Java的基础,那么开发Android对于你来说,难度便减少了一半。
你要知道,与Java中不同的是,Android有着其独特的机制,而这些机制和在Java中使用类如servlet、mybatis等原理几乎万变不离其宗,只需要按照官方指定玩法尽情享受撸码的快乐即可,当然由于Android的开源性,你也可以尽情基于Android创造属于你的世界~
Kotlin-谷歌官方开发Android第一语言
随着甲骨文状告谷歌失败起,似乎也给谷歌下了一颗定心丸,So,没过多久,谷歌I/O大会上正式提出将Kotlin作为Android第一语言,在其官方开发者平台上也推出了相关Kotlin的介绍,地址如下:
那么相比Java,它具有哪儿些优势呢?
首先看看谷歌是如何评价Kotlin:
Kotlin非常适合Android,不仅因为它为开发者提供了他们想要的,也是因为它符合Android的精神。就像Android一样,Kotlin一直是一个开源项目,主要在Apache 2下。它涉及整个社区,不属于一家公司。所以我们正在与JetBrains合作,将Kotlin推向一个非营利的基础。Kotlin的选择重申了我们在开发和发展Android平台时对开放式开发者生态系统的承诺,我们很高兴看到语言的发展;
Kotlin具有表现力,简洁,可扩展,强大,读写Easy and Happy。它具有可靠性和不变性的精彩安全功能,使Android应用程序更加富有健壮性和执行性。最重要的是,Kotlin是可以双向使用的替代品 - 您可以从Kotlin调用Java语言,您也可以从Java语言调用Kotlin;
总而言之,我们认为Kotlin是Android语言家族的一个很好的补充,也是一种令人愉快的语言。
再来看看大家怎么说:
可以对NullPointerExceptions Says GoodBye了;
语法更加简洁,使用更加方便;
...
还有一些小伙伴对此持怀疑态度,在此,我想说,有时候去试着尝试一种新的方式,未尝不是一种更好的选择。
React Native-Facebook产物
React Native,最早是由Facebook专为UI推出的框架,而它主张的理念如下:Learn once, write everywhere.
简译结果为:只需要学习一次,之后可以在任何地方编写,这里指的是可以适用于各大主流平台,例如Android、IOS等。
The first Android Project
经过前几小节的铺垫,这节正式为你拉开Android开发序幕,学习万千语言的第一步,Hello Word~
本节,我们继续采取图文结合的方案进行讲解~
开启我们第一个Android Pro
简单了解首页功能项
找到安装目录,运行安装完毕的Android Studio 3.0 Beta 5版,如下图:

每个选项含义如下:
开始一个新的Android Studio项目
打开已存在的Android Studio项目
从版本控制中检出项目,在此提供GitHub、CVS、Git、Goodle Cloud、Mercurial、SubVersion(SVN)方式
配置或者调试APK
迁移Eclipse项目
导入Android源码示例
新建项目
选择新建项目,你可以设置项目名称、项目包名、以及项目保存地址。
当然如果你是ndk爱好者,你也可以勾选下方的导入C++依赖;如果你也想体验下谷歌新宠儿,Kotlin,你也可以勾选下面的Kotlin依赖。

选择最低兼容的SDK版本
从这一步就可以看出我大Android设计领域之广,你可以创建Android手机(移动端) Pro,也可以创建Android 手表类型Pro,当然还可以创建Android TV Pro 以及 Auto Pro。

当然,你也可以点击“Help me choose”去查看目前版本在市场占有率,从而决定你最低兼容SDK版本。

选择创建Activity的模板

创建一个空的Activity

安装所需组件。

点击finish,开始构建我们的第一个Android Pro。

首次构建时间比较久,当然大家可以选择进行优化以加快Build速度。
构建完成后自动打开Android Studio界面,但是我们发现此时抛出一个异常如下:

猜测应该为Gradle出的问题,这时候需要打开设置,去查看我们的Gradle配置是否出现问题。

设置使用本地Gradle,然后点击try,ok。
启动模拟器
Android Studio中为我们内置了模拟器,当然你也可以下载Genymotion,这里就直接选择使用内置模拟器。
点击后打开预览界面,接着点击创建模拟器(左下角),开始进行选择心仪的模拟器进行下载安装即可。

大家可以清晰的看到谷歌为我们提供的一些设备型号,好好挑选一番。
当我们选择某个型号的手机后,Android Studio会为我们罗列出其型号支持的Android系统版本,按需下载。

点击下载并勾选用户协议

安装完成后,当前模拟器便会显示你刚刚下载的那个,随后点击启动,我们先来运行一把~

运行 查看第一个Android Pro结果
点击如下图标,开始运行当前项目。

选择当前我们开启的模拟器设备,双击确定。

运行结果如下:

OK,到此为止,我们第一个Android应用已经完成,并且成功运行。
下面,我们回过头,一起来看下Android Studio的项目结构以及每个所代表的含义。
Android Studio目录结构简述
下面将依据官方图例进行说明:

要查看项目的实际文件结构(包括 Android 视图下隐藏的所有文件),请从 Project 窗口顶部的下拉菜单中选择 Project。
选择 Project 视图后,你会看到更多文件和目录。最重要的一些文件和目录如下所示:
模块名称
build/:包含构建输出;
libs/:包含私有库;
src/:包含模块的所有代码和资源文件,分为以下子目录:
AndroidManifest.xml:说明应用及其每个组件的性质;
java/:包含 Java 代码源;
jni/:包含使用 Java 原生接口 (JNI) 的原生代码;
gen/:包含 Android Studio 生成的 Java 文件,例如您的 R.java 文件以及从 AIDL 文件创建的接口;
res/:包含应用资源,例如可绘制对象文件、布局文件和 UI 字符串;
assets/:包含应原封不动地编译到 .apk 文件中的文件。您可以使用 URI 像浏览典型文件系统一样浏览此目录,以及使用 AssetManager 以字节流形式读取文件;
androidTest/:包含在 Android 设备上运行测试的代码;
main/:包含“主”源集文件:所有构建变体共享的 Android 代码和资源(其他构建变体的文件位于同级目录中,例如调试构建类型的文件位于 src/debug/ 中);
test/:包含在您的主机 JVM 上运行的本地测试的代码;
build.gradle(模块):定义模块特定的构建配置;
build.gradle(项目):定义适用于所有模块的构建配置。此文件已集成到项目中,因此你应当在所有其他源代码的修订控制中保留这个文件
基本介绍到此结束,欢迎大家继续学习后续章节,以便你更好的掌握Android~
-文章来源于安卓巴士:





































苏公安网备 32011402010933号