Android开发简易教程

Android 开发因为涉及到代码编辑、UI 布局、打包等工序,有一款好用的IDE非常重要。Google 最早提供了基于 EclipseADT 作为开发工具,后来在2013年 Google I/O 大会发布基于 IntelliJ IDEA 开发工具Android Studio。宣布不再持续支持 ADT。

目前, Android Studio已经逐渐取代Eclipse成为主流的Android开发环境。对于Android Studio与Eclipse之间的比较,你可以阅读知乎上的《Android Studio 比 Eclipse 好用在哪里?》。

由于Google无法进入中国,Android开发者下载开发工具都十分不方便,以前可以在Android Studio中文社区下载Android Studio,现在好了,2016年12月,Google 开通了Google Developers 中国网站,下载Android Studio就方便多了:

Android Studio下载后安装比较简单,你要注意Android SDK的安装位置。

在启动画面中你可以看到右下角的一行字。Android Studio是基于IntelliJ IDEA 的集成开发环境。IntelliJ IDEA 是被公认为最好的Java开发工具之一,它的一些特性极大地简化了开发流程,大家都比较熟悉了。

第一次运行可能会要求配置Android SDK(安装过程中要知道自己的SDK安装到什么地方了):

此时你可以看到Android Studio的欢迎页已经出来了,就像下面这样:

左侧的Recent Projects将会显示你在这里编辑做的最近项目。右侧的Quick Start则是快速开始选项。

红色方框选中的Start a new Android Studio project选项通常是我们课程里最常使用的,用于创建一个新的Android项目。

在此介绍一下其他的选项:

  1. Open an existing Android Studio Project:打开已有的Android Studio项目。在经历一段时间的学习后,如果你想继续编辑之前的项目,或者打开一个从网上下载的例子,你可以点击此选项。
  2. Check out project from Version Control:从版本控制库中获取项目。对于团队开发来说,版本控制是必不可少的工具。此选项允许你从GitHubGoogle Cloud以及TortoiseSVN等处同步项目。事实上,Android Studio对于这些版本控制工具的支持也是很好的,你可以在设置中进行设定。

  3. Import project(Eclipse ADT, Gradle, etc.):导入其他开发环境中的项目。通过该选项你可以将在Eclipse等处生成的项目迁移到Android Studio的开发环境中。

  4. Import an Android code sample:导入Android代码样例。该功能将从Google及其合作伙伴那里读取示例的列表,你可以下载并查看一些优秀的项目并继续编辑它们。

Android Studio有更多的功能有待你去挖掘。对于创建项目而言,我们点击红框圈中的这个选项即可,此时会弹出新建项目对话框。

在该对话框中你需要填写待创建的项目名称、公司域名和项目的存放位置。

在填写时,有以下事项你需要注意:

  1. 应用的命名应采用驼峰命名法,首字母必须要大写。
  2. 此处的Company Domain在商业开发中是常用的,目的是便于归档。对于初学者而言,你可以理解为下面的Package name是域名的反转,比如我的域名可能是ljp.is.besti.edu.cn, 包名最好是cn.edu.besti.is.ljp(上图中没倒过来)
  3. 根据实际情况,你可以设置Project location,也就是项目的位置。通常情况下我们使用默认值就行。

填好后,点击右下角的Next按钮进入下一步——选择目标Android设备。

你可以在这一步选择开发的应用将被在何种平台上运行,从上到下依次为手机和平板、电视(一些电视盒子即基于此开发)、手表(一些智能手表应用)、Google Glass。

同时,你还可以为发行平台设置最小的SDK版本号。Minimum SDK的版本即表明生成的应用能覆盖哪个版本及以后的系统。

点击Next按钮进入下一步,这时候会要求你为应用添加一个Activity,如下图所示。

Activity是Android中的一种基础组件,你大致可以将其理解为一个页面。一些控件就将要被放置在这里面,而这一步选择不同类型的Activity实际上是依托各种类型的模板(例如全屏显示、登录页、自带导航栏等类型)来创建类文件。此处被添加的Activity将会被作为应用打开时默认启动的那一个。

如你所见,在我们的Android系列课程中,通常选择Empty Activity这个模板来创建Activity。

请按照要求选择,并点击Next按钮进入到下一步。

这一步则是自定义Activity的信息,具体如下:

  1. Activity Name:定义Activity的名称。Android Studio会据此生成同名的.java类文件。
  2. Layout Name:定义Activity的布局文件名。这里的布局文件是指一个决定Activity中各种控件属性的xml资源文件。

每个Activity都对应一个xml布局文件(layout),布局文件在项目的res/layout文件夹中可以找到。

设置好后,点击Finish按钮完成项目的创建工作。

Android Studio会根据这些信息来创建项目,耐心等候它自动创建项目并进入主界面。这时你会在下图所示的对话框中看到一些关于Gradle的信息。

Gradle是一款获业界高度评价自动化构建工具,它的用处很多,比如引入外部库等等。你可以访问Gradle官网了解更多信息。

稍候一会儿,你便能看到Android Studio的主界面了,如下图所示。

首先映入你眼帘的是巨大的编辑区,在左侧你能看到项目的组织结构和目录树,最上方则是常用的菜单和工具。

如果需要编辑指定的文件,找到路径双击就可以打开它。

三、配置和启动模拟器

Android模拟器是可以运行在电脑上的虚拟设备,可以让你不需使用物理设备即可预览、开发和测试Android应用程序。当你身边并没有合适的Android设备时,模拟器就是一个不错的选择。

那么如何使用Android模拟器呢?

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

此时并没有任何的虚拟设备,我们需要点击中央的Create a virtual device按钮来创建一台模拟器。

创建模拟器的第一步是选择硬件。你可以通过选择现有的设备模板来定义一台模拟器。左侧的Category分类中可以选择是创建哪种类型的设备,通常我们是开发手机上的应用,所以选择Phone就可以了。右侧则显示了所有Google官方的设备模板,比如历年来发布的Nexus系列以及Google Phone系列。

需要注意的是,此处只是选择型号对应的硬件条件,而不会选择该设备在发布时搭载的系统镜像。

也就是说,你可以点击左下角的New Hardware完全定义一台设备的硬件配置和外观,或者通过Import Hardware Profiles来导入现成的配置方案。

点击右下角的Next按钮,进入到系统镜像的选择。

我们常说某个Android手机是4.1或5.0的系统,这里的4.15.0就是指系统镜像的版本。同样,对于模拟器而言,也需要为其配置某个版本的系统镜像。你可以看到这里只有3个镜像可供选择,请选择第一项——发布名为LolipopAndroid 5.1.1镜像。

如果你需要其他版本的系统,你可以在Android SDK Manager中下载对应的系统镜像包,再进入AVD Manager就能看到它们了。

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

在这里,你可以设置模拟器的名称。我们建议你在名称中注明使用了哪一个版本的系统镜像(例如API 22)。

以后课程中你常常会看到这句话:

为获得更好的模拟器显示效果,请在本实验中,将AVD的屏幕缩放比例设置为默认值或者“2dp on device = 1px on screen”。

这句话是指选项Scale一栏中,选择的屏幕缩放比例。若课程无特殊要求,使用Auto即可。

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

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

在实际的开发工作中,我们建议你通过USB数据线将一台运行着Android系统的设备(手机或平板)与电脑相连接。这样你便能在较高性能的设备上测试应用,而不是体会模拟器给你带来的卡顿感。

最后点击Finish按钮,你就能在AVD Manager中的列表看到刚刚创建的模拟器。

点击每个模拟器列表项右侧的绿色箭头按钮,就能启动对应的模拟器了。

四、项目的编译和运行

在项目的源代码、资源文件和可能用到的外部库都编辑或配置好后,你就可以编译并运行这个“应用”了。

在工具栏上你可以找到运行按钮。

Android项目在经过编译后会形成一个apk安装包,这个安装包在经过证书签名后就可以在各种设备(包括模拟器)上运行了。它在调试阶段使用的是debug证书,若你想要将正式的安装包发布至应用市场,则需要使用自己的证书。


欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!



如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


Android开发简易教程的更多相关文章

  1. 史上最全的Android开发学习教程集锦【初学者】

    根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中.Android系统在几个主要的市场上已超过了iOS系统,特别是在美国,欧洲和日本,然而苹果确实在中 ...

  2. [转载]Google Android开发精华教程

    原文地址:Android开发精华教程">Google Android开发精华教程作者:huiyi8zai Android是Google于2007年11月5日宣布的基于Linux平台的开 ...

  3. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)

    用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...

  4. Android实战简易教程-第四十枪(窃听风云之短信监听)

    近期在做监听验证码短信自己主动填入的功能,无意间想到了一个短信监听的办法. 免责声明:短信监听本身是一种违法行为,这里仅仅是技术描写叙述.请大家学习技术就可以.(哈哈) 本实例是基于bmob提供的后台 ...

  5. Android 开发系列教程之(一)Android基础知识

    什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...

  6. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  7. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢.   一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...

  8. Xamarin 开发Android应用简易教程(1)

    最近领导又安排了新的项目需求,只好学习学习如何在.net环境下开发APP(原来没有接触过App开发)! 1.安装VS2017移动应用开发模块. 2.使用VS2017,主要是便利,无需配置环境等一系列麻 ...

  9. Android开发的教程和资源

    Android 设计指南非官方简体中文版 http://www.apkbus.com/design/index.html NDK下载 http://developer.android.com/tool ...

随机推荐

  1. tomcat查看端口被占用

    1. tomcat有安装版和压缩版 安装版的没有关闭命令 压缩版的命令如下: tomcat关闭:catalina stop/shutdown 开启:catalina start   2. 在tomca ...

  2. es6学习笔记--解构赋值

    昨天学习了es6语法中解构赋值,解构赋值在声明中和函数传参提高了灵活性和便捷性,值得掌握该语法. 概念: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.   数组的解构 ...

  3. 【BZOJ1257】余数之和(数论分块,暴力)

    [BZOJ1257]余数之和(数论分块,暴力) 题解 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的 ...

  4. [LNOI2014] LCA

    题目描述: 网址:http://www.lydsy.com/JudgeOnline/problem.php?id=3626 大意: 给出一个n个节点的有根树(编号为0到n-1,根节点为0). 一个点的 ...

  5. [BZOJ4804]欧拉心算

    题面戳我 题意:求 \[\sum_{i=1}^{n}\sum_{j=1}^{n}\phi(\gcd(i,j))\] 多组数据,\(n\le10^7\). sol SBT 单组数据\(O(\sqrt n ...

  6. [BZOJ4825][HNOI2017]单旋spaly

    BZOJ Luogu 题目太长了,就不放了. 题解 首先声明一点,无论是splay还是spaly,插入一个新的元素,都要rotate到根!所以说题目也算是给了一个错误示范吧. 我们发现把最值旋转到根并 ...

  7. Handsontable 筛选事件

    有时候我们需要知道在使用Handsontable时筛选掉了哪些数据,并对这些数据进行处理,可以使用afterFilter事件来进行相关操作. Handsontable筛选掉的数据没有真的被删除,而是被 ...

  8. 电路ppt作业

    例二 例三 3.例一

  9. WPF简易北京地铁效果图

    这个是百度地图上北京地铁的地址http://map.baidu.com/?subwayShareId=beijing,131,我们先看下百度上面的效果图 我要实现的内容比较简单,就是绘制这些图,和在地 ...

  10. 软件测试第二周作业 WordCount

    本人github地址:  https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 ...