首页 > 编程笔记

Android是什么,Android简介

在科技高速发展的今天,各种计算机技术层出不穷,而在软件开发中,笔者觉得最有意思的莫过于 Android 开发了。学会了 Android 移动端开发,就能够迅速通过编程实现自己的想法。

在移动端上,Android 和 iOS 共分天下,截至 2020 年年底,Android 已经占据了 85% 的市场份额,可见其市场价值的巨大。因此,一旦涉及移动端应用,首先要开发的就是 Android 应用。

本节主要介绍 Android 上 App 开发和 Java 语言的关系,以及学习 Android 开发需要了解的一些知识。

Android简介

Android 系统是由谷歌公司所开发的,人们也将 Android 称为“安卓”。

所谓的 Android 开发,其实就是在 Android 系统上开发相关的 App。日常生活中经常见到各种 App,比如美团、拼多多、淘宝、去哪儿网、抖音、快手等,这些 App 极大地方便了大家的工作和生活,同时也给所属公司带来了不错的回报。

Android 已经诞生 10 多年了,这期间更替了多个版本,唯一不变的是人们对 Android 的热情,笔者当年就是被 Android 的开放态度所吸引,从而走上了 Android 开发之路。

Android和Linux

Android 是基于 Linux 操作系统实现的,由于 Android 采用了 Linux 内核,因此,在某种意义上 Android 可以说是 Linux 操作系统的一个发行版。

Linux 系统是开源且免费的,谷歌的工程师可以通过不断修改 Linux 源码来满足 Android 的需求。Android 也是一个开源的系统,它的许可证是 Apache 许可证。

由于 Linux 是一个已经构建好且维护得很好的操作系统,可以在各种计算机平台上运行,而我们的手机已经相当于一台“小型”的计算机,因此谷歌的开发人员没有必要重新编写 Android 的内核,只需要对 Linux 内核进行修改即可。

如果读者足够细心的话,在手机或者平板电脑中很可能就能看到 Linux 的内核版本。下图所示为 Android 系统架构。


图 1 Android系统架构

Android 和 Linux 之间有这样一种关系,不可以在 Android 中运行 Linux 应用程序,然而可以在 Linux 中运行 Android 程序。

就本质而言,Android 和 Linux 均是开源的系统,只要我们愿意,就可以修改其中的源码,进行一些有趣的创新,如果这些创新可以被源码社区认可和接受,就可以为推动整个开源世界的发展做出贡献。

Android系统目录简介

Android 系统是一个操作系统,因此也会有目录,各种程序、运行日志都会保存在目录中。

Android 系统目录一般具有以下文件夹(其实就是子目录):
总体来说,Android 的系统目录和 Linux 的系统目录是非常相似的。当然,如果在 Android 系统下创建了一个用于开发的软件,那么这个软件的目录与 Android 的系统目录是完全不同的。

本教程使用 Android Studio 来开发 Android 应用,Android Studio 为 App 创建的文件目录通常如下:
Android App 的目录结构如下图所示。


图 2 Android App的目录结构

Android开发学习路径推荐

在学习 Android 移动应用的开发时,大家可能会感到疑惑:到底应该如何进行学习,应该学习什么知识?笔者在多年的学习和实践中总结出了一条易于入门 Android 的“路线”,接下来简单介绍一下。

要开发 Android 应用,可以使用 Java 语言来描述程序中各个事件之间的逻辑。Java 是一种面向对象的语言,在软件开发中可以充分利用 Java 语言的面向对象特性设计出更好的软件架构,并采用优良的设计模式来增强软件的可靠性、易用性、高度定制性以及安全性。

在学习 Android 移动应用开发的过程中,读者将会学习如何使用各种不同的组件来构建 Android 应用,同时了解不同的组件如何在不同的 Android 活动中进行通信,从而实现协同工作。

另外,在学习的过程中,如果遇到不懂的知识,可以到 Stack Overflow、GeeksforGeeks、CSDN 等各大论坛上去查询,或者直接阅读谷歌的 Android 开发者文档,如下图所示。

图 3 Android开发者文档

Android 开发者文档中包含了 Android 相关知识的权威解释,有一些文档没有被翻译成中文,如果读者对英文不太熟悉的话也没有关系,可以直接使用在线翻译功能翻译英文内容。

了解了 Android 中的基本控件和组件之后,就可以学习各种不同的框架,比如谷歌公司的 Material Design 就是一个用于编写用户界面(UI)的框架,使用它只需输入简单的几行代码就能够生成精美的 Android 应用用户界面。这些框架是由一些经验丰富的程序设计人员编写的,同时提供了调用这些框架的接口,我们只要学会如何调用它们即可。

在学习程序开发的过程中,最好有一个自己的 GitHub 仓库。这样不仅可以把自己成功制作的作品上传到 GitHub 分享给别人,为开源世界做贡献,更重要的是,可以使用 GitHub 对代码进行版本控制和管理,同时还可以与自己的合作伙伴一起协同开发。

一些开发者可能有这样的经历:某些曾经写过的代码很好用,自己的创意也很不错,但是经过修改之后,却发现自己再也不能回退到之前编写的那个版本了。对于这类问题,用 GitHub 来解决堪称“完美”,它可以帮助我们管理各个时期的程序版本。如果不使用 GitHub 作为版本控制和管理工具,那么拥有多人的团队就很难进行协同开发。比如团队中的不同人在同一时间分别修改了一个功能,程序合并在一起却会让整个 Android 应用崩溃。

下面带大家了解一下 GitHub,它的官方网站如下图所示。


图 4 GitHub官方网站的首页

要使用 GitHub,首先要在 GitHub 官方网站的首页输入自己的邮箱、用户名、密码来注册账号,注册成功之后就会在 GitHub 上拥有一个属于自己的公共软件仓库。如果我们把自己的软件仓库升级为 PRO 版本,就可以拥有自己的私人仓库,这样自己编写的一些代码就不会被别人看到。

下图所示为谷歌官方开源的 GitHub 仓库,很多谷歌开源的代码都可以在上面找到:


图 5 谷歌开源库

从上图中可以看到,谷歌的这个开源库一共有 1900 个项目(Repositories),有 1200 人对其做出了贡献。

在 GitHub 注册账号之后,就可以上传自己的项目了,上传的内容可以是自己写作的一些编程教程,也可以是自己完成的项目代码。一般情况下,可以先在自己的项目下执行如下命令对文件进行初始化:
git init
然后使用如下命令将项目中的所有文件添加到临时工作目录中:
git add .
接着执行如下命令将临时工作目录上传到相关的工作目录中,其后面的 pass 参数可以随便写:
git commit -m "pass"
最后使用 push 命令将工作目录上传到 GitHub 的 master 分支上,具体命令如下:
git push origin master
如果对这些命令不太熟悉,也可以不使用这些命令进行上传,而是在 GitHub 上创建自己的软件仓库之后,直接将自己计算机上的文件拖曳至 GitHub 的仓库中,如下图所示。


图 6 通过拖曳将文件上传至GitHub

希望读者在后面的程序开发中,使用 GitHub 进行程序版本的控制和管理。

推荐阅读