文档开发者中心
我的

【安卓入门教程】第1章 开启你的Android路

2019年5月6日

随着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安装需要设置如下选项:

  1. 导入之前Android Studio 2.3配置信息;

  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~

-文章来源于安卓巴士:

点赞
收藏
1
回复
分享
举报
浏览2099 发布于2019-07-08 03:57未知归属地
全部评论
最多点赞
最新发布
最早发布
暂无评论
暂无评论
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

目录 收起
Android简述
Android历史
Android系统架构
第一层为:系统应用层
第二层为:Java API 框架
工欲善其事,必先利其器
解压安装
运行AS安装向导
了解与Android沟通的语言
Android开发语言简述
Java-万物皆对象
Kotlin-谷歌官方开发Android第一语言
React Native-Facebook产物
The first Android Project
开启我们第一个Android Pro
简单了解首页功能项
新建项目
选择最低兼容的SDK版本
启动模拟器
运行 查看第一个Android Pro结果
Android Studio目录结构简述
了解社区公约,与您携手共创和谐专业的开发者社区。