Skip to content
This repository was archived by the owner on May 8, 2019. It is now read-only.

Latest commit

 

History

History
334 lines (200 loc) · 17 KB

File metadata and controls

334 lines (200 loc) · 17 KB

Hello World

一、实验简介

欢迎打开Android开发的大门!从本实验开始,你将学习到Android开发的一些基础知识,了解关于Android系统的发展历程和架构,并动手建立自己的第一个Hello World程序。

1. 知识点

  • Android系统的发展历程
  • Android系统的架构
  • Android开发环境的配置
  • 实现Hello World应用

2. 所需知识

在学习Android开发知识之前,建议你先掌握Java相关的开发基础。

若你对Java还不是非常熟悉,你可以根据自己的实际情况,学习实验楼开设的以下Java系列课程:

此外,对于未来Android学习过程中可能会涉及到的知识点,以下课程也推荐你进行学习:

二、认识Android系统及生态圈

1. Android发展历程

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,在我国大陆地区的开发圈内多被称为“安卓”。

此处输入图片的描述

它大致经历了下面的发展历程:

  • Android操作系统最初由Andy Rubin开发,主要支持的设备为手机。
  • 2005年8月由Google收购注资。
  • 2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
  • 第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
  • 2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
  • 2013年第四季度,Android平台手机的全球市场份额已经达到78.1%。
  • 2013年9月24日谷歌开发的操作系统Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

截止到本课程发布之日,Android已经发展到了自己的6.0版本(Android M)。

2. Android生态圈

Android平台具有高度的开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开发性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。但这也导致了Android生态圈碎片化严重的问题。

下图展示了近年来Android在智能手机操作系统市场占有率及对比(图据statista): 此处输入图片的描述

推荐一篇发表于2014年的文章《移动5年,Android生态系统的演进》,在这里你能了解到更多关于Android生态圈的信息。

3. Android的系统架构

Android的系统架构是分层设计的,从底层到上层共有四层,分别是Linux内核、系统库、应用框架层和应用程序程序层,如下图所示。

img

  • linux内核层
    1. 硬件和其他软件堆层之间的一个抽象隔离层;
    2. 提供安全机制、内存管理、进程管理、网络协议堆栈和驱动程序等。

img

  • 系统库和Android运行时的环境层
    1. 本地库:主要提供一组基于C/C++的函数库;
    2. 核心库:提供Android特有的函数和Java语言函数;
    3. 虚拟机:实现Linux内核的线程管理和底层内存管理;

img

  • 框架层

    提供Android平台基本的管理功能和组件重用机制。

img

  • 应用层

    提供一系列的核心应用程序,包括电子邮件客户端、浏览器、通讯录和日历等。

img

三、开发环境配置

俗话说:工欲善其事,必先利其器。要想进行Android开发,首先需要配置好相应的开发环境。

注:实验楼已经为你配置好开发环境,此过程仅供学习者参考。

1. 下载并配置Java JDK

首先你需要确定自己的Linux版本是32位还是64位的,如果不是很清楚,可以通过在终端输入下列命令来查看:

uname -a

如果显示的系统版本中出现x86_64字样,则说明系统是64位的。若出现i386i686字样,则说明系统是32位的。

确定了系统版本后,在Oracle官网可以下载到最新的JDK(Java Development Kit)。你也可以根据自己的实际需要下载历史版本。推荐下载1.7系列。

下载好后的压缩包通常名称如下:

jdk-7u15-linux-x64.tar.gz(64位)
jdk-7u15-linux-i586.tar.gz(32位) 

你需要通过cd命令切换到下载的目录,输入命令解压:

sudo tar -xzf jdk-8u65-linux-x64.tar.gz

然后将解压的文件复制到/usr/lib/jvm目录下,如果此目录不存在就使用如下命令建立该目录。

新建目录的命令如下:

sudo mkdir /usr/lib/jvm

jdk1.8.0\_65文件目录下输入下面的命令(jdk1.8.0\_65是解压后文件夹的名称,请根据不同版本的JDK更改,下面JAVA_HOME和配置默认版本时也进行相应更改)。

sudo mv jdk1.8.0_25 /usr/lib/jvm 

文件下载完成后,接下来便是配置环境变量,在终端输入以下命令:

gedit ~/.bashrc

然后在文件末尾追加以下内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_65    
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存后退出gedit,上述内容设置了java环境的环境变量。

2. 下载并安装Android Studio

鉴于2015年9月发生的“XcodeGhost”事件,我们强烈建议每位开发者(特别是初学者)一定要从正规途径下载和使用各类开发工具。

Android Studio的下载可以在Android开发者官网找到(由于众所周知的原因,中国大陆暂时无法直接访问),如需访问,请点击这里

选择Develop Tools,下载对应平台的linux版本的Android Studio,下载的文件名类似于android-studio-ide-135.1641136-linux.zip

下载完成后,你可以通过MD5SHA1校验来确保下载文件的完整性,具体步骤你可以通过搜索相关文档来学习,此处不再赘述。

接下来,可以直接在图形界面来解压zip文件,解压后文件夹名为android-studio

将解压好后的文件夹移动到/opt目录下:

sudo mv android-studio /opt/

进入/opt/android-studio/bin/文件夹:

cd /opt/android-studio/bin/

运行Android Studio

sudo ./studio.sh

如果是第一次安装,第一次进入选择I do not have a previous version of Android Studio ...

img

此时会出现启动画面:

img

接下来进入组件安装部分Setup Wizard - Welcome, 点击next按钮开始安装。

img

选择Custom,点击next按钮: img

这儿的Android SDK Location建议修改为/home/shiyanlou/Android/Sdk(shiyanlou为用户名): img

进入License Agreement,选中accept复选框,然后点击next按钮。

img

之后就等待安装过程,直到成功(中途需要连接google服务器拉取信息,可能需要“科学上网”)。

你现在所使用的实验楼的环境已经为你安装好Android Studio,可以直接点击桌面上的图标打开。

四、Hello World

下面,我们通过一个快速的例子创建Android世界中的第一个示例程序——“Hello Word”。

双击桌面左上角的AndroidStudio图标打开它。

此处输入图片的描述

在下图所示的loading画面中等候开发环境启动完成。

此处输入图片的描述

当Android Studio的欢迎页(Welcome to Android Studio)出来时,点击第一项Start a new Android Studio project来创建一个新的Android项目:

此处输入图片的描述

在新弹出的Create New Project对话框中,填入项目相关的信息:

  • Application name(应用名称)中填写HelloWorld
  • Company Domain(公司域名)中填写shiyanlou.com

然后点击右下角蓝色的Next按钮进入下一步。

此处输入图片的描述

在选择目标设备的最小SDK版本时,请选择API 22: Android 5.1(Lollipop)一项,以后的项目也都请选择这一版本。

此处输入图片的描述

选择完成后点击下一步Next

为应用添加一个Activity,此处请选择Blank Activity,然后进入下一步。

此处输入图片的描述

最后是为刚刚选择的这个Activity设置名称和布局文件名称,此处可以不做修改,直接使用默认值即可。点击Finish按钮完成创建。

此处输入图片的描述

对于这些步骤中每个设置的含义,请在本文末尾的作业中找到对应的项目课来学习。

等待开发环境设置完成,就会显示一个含有丰富的开发工具的编辑器。

遇到的Tips of the Day窗口可以直接关闭。

此处输入图片的描述

等待1~2分钟,项目相关文件配置好后,便会出现如下图所示的UI设计窗口。暂时不用关心这些复杂的选项都是什么,在后续的课程会学到它们。

此处输入图片的描述

接下来,在Android Studio的主界面上方的工具栏中,你可以看到一个名为AVD Manager的按钮,点击它你就能打开Android虚拟设备管理器(AVD: Android Virtual Device)。

此处输入图片的描述

此时没有任何虚拟设备,点击Create a virtual device按钮来创建一台模拟器。

此处输入图片的描述

创建模拟器的第一步是选择硬件,选择Nexus S这台虚拟设备。

此处输入图片的描述

点击右下角的Next按钮,进入到系统镜像的选择,请选择第一个Android 5.1.1的镜像。

此处输入图片的描述

接着,点击右下角的Next按钮,进入到确认配置的一步。

此处输入图片的描述

在这里,你可以设置模拟器的名称,此处使用默认值即可。

需要特别注意的是:在实验楼的环境中,我们建议你关闭Use Host GPU这一选项。而在你自己的电脑上则建议将其打开。

点击Finish按钮完成模拟器的创建,如果窗口没有响应,则需要等待约1分钟。

创建成功后,点击右侧的绿色箭头按钮来启动这台模拟器。

此处输入图片的描述

经过测算,在实验楼提供的实验环境中,Android模拟器的启动时间在6-8分钟左右。在此期间,你不必专门等候,耐心地阅读左侧的课程文档,并在Android Studio的编辑环境中跟着编写代码。在你创建的项目快要结束编写的时候,模拟器自然就启动好了。此时,你再编译并运行对应的项目即可。

遇到如下窗口可以直接关闭。

此处输入图片的描述

下面就是Android模拟器的启动画面,这个画面要持续6-8分钟左右。

此处输入图片的描述

我们先回到Android Studio的编辑环境,看一下项目的目录树。一个完整的项目通常由下面这些部分组成。

此处输入图片的描述

  1. build:该目录包含了自动生成的文件,这些文件包括了编译设置项、R类等。
  2. libs:该目录包含了开发Android应用所需要的库文件。
  3. src:该目录存放了应用的源代码.java文件。默认情况下,它包含了MainActivity.java文件,这个源代码j有一部分是执行了你点击应用图标时启动应用所需要功能。
  4. res:该目录存放了所有的资源文件。
  5. drawable:该目录存放了项目的drawable对象和一些图片资源。
  6. layout:该目录存放了各个界面的布局文件。
  7. menu:该目录存放了应用中设计的菜单对象。
  8. mipmap:该目录存放了应用的主要图片资源。
  9. values:该目录存放了字符串、颜色等定义的资源集合。
  10. AndroidManifest.xml:该文件是描述应用基础特性的文件,定义了每个组件。

模拟器启动完成后,画面如下:

此处输入图片的描述

回到Android Studio中,点击Android Studio上方的运行按钮。

此处输入图片的描述

此时项目进入编译状态,编译完成后会弹出Choose Device选择设备对话框,点击下方OK按钮。

此处输入图片的描述

切换到模拟器,你就会看到你的第一个Hello World应用。

此处输入图片的描述

恭喜你完成了上述步骤。要关闭项目时,请记得保存。你可以将代码提交至你的代码库。

四、实验总结

在本节课程我们主要完成了Android的一个Hello World项目的创建,并且了解了一个项目的构成。这将是你学习Android应用开发的第一步,请保持专注,投入更多精力学习后续的课程。

除了本节实验,实验楼也为你准备了丰富的Android课程,你可以点击此链接来查看。

五、作业

请在本节课程学习结束后,继续学习项目课《Android Studio项目创建和模拟器配置》。

参考文档