Android开发简易教程
Android开发简易教程
Android 开发因为涉及到代码编辑、UI 布局、打包等工序,有一款好用的IDE非常重要。Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后来在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项目。
在此介绍一下其他的选项:
Open an existing Android Studio Project
:打开已有的Android Studio项目。在经历一段时间的学习后,如果你想继续编辑之前的项目,或者打开一个从网上下载的例子,你可以点击此选项。Check out project from Version Control
:从版本控制库中获取项目。对于团队开发来说,版本控制是必不可少的工具。此选项允许你从GitHub
、Google Cloud
以及TortoiseSVN
等处同步项目。事实上,Android Studio对于这些版本控制工具的支持也是很好的,你可以在设置中进行设定。Import project(Eclipse ADT, Gradle, etc.)
:导入其他开发环境中的项目。通过该选项你可以将在Eclipse等处生成的项目迁移到Android Studio的开发环境中。Import an Android code sample
:导入Android代码样例。该功能将从Google及其合作伙伴那里读取示例的列表,你可以下载并查看一些优秀的项目并继续编辑它们。
Android Studio有更多的功能有待你去挖掘。对于创建项目而言,我们点击红框圈中的这个选项即可,此时会弹出新建项目对话框。
在该对话框中你需要填写待创建的项目名称、公司域名和项目的存放位置。
在填写时,有以下事项你需要注意:
- 应用的命名应采用驼峰命名法,首字母必须要大写。
- 此处的
Company Domain
在商业开发中是常用的,目的是便于归档。对于初学者而言,你可以理解为下面的Package name
是域名的反转,比如我的域名可能是ljp.is.besti.edu.cn
, 包名最好是cn.edu.besti.is.ljp
(上图中没倒过来) - 根据实际情况,你可以设置
Project location
,也就是项目的位置。通常情况下我们使用默认值就行。
填好后,点击右下角的Next
按钮进入下一步——选择目标Android设备。
你可以在这一步选择开发的应用将被在何种平台上运行,从上到下依次为手机和平板、电视(一些电视盒子即基于此开发)、手表(一些智能手表应用)、Google Glass。
同时,你还可以为发行平台设置最小的SDK版本号。Minimum SDK
的版本即表明生成的应用能覆盖哪个版本及以后的系统。
点击Next
按钮进入下一步,这时候会要求你为应用添加一个Activity
,如下图所示。
Activity是Android中的一种基础组件,你大致可以将其理解为一个页面。一些控件就将要被放置在这里面,而这一步选择不同类型的Activity实际上是依托各种类型的模板(例如全屏显示、登录页、自带导航栏等类型)来创建类文件。此处被添加的Activity将会被作为应用打开时默认启动的那一个。
如你所见,在我们的Android系列课程中,通常选择Empty Activity
这个模板来创建Activity。
请按照要求选择,并点击Next
按钮进入到下一步。
这一步则是自定义Activity的信息,具体如下:
Activity Name
:定义Activity的名称。Android Studio会据此生成同名的.java
类文件。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.1
或5.0
就是指系统镜像的版本。同样,对于模拟器而言,也需要为其配置某个版本的系统镜像。你可以看到这里只有3个镜像可供选择,请选择第一项——发布名为Lolipop
的Android 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”微信公众号(手机上长按二维码)
做中教,做中学,实践中共同进步!
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”
Android开发简易教程的更多相关文章
- 史上最全的Android开发学习教程集锦【初学者】
根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中.Android系统在几个主要的市场上已超过了iOS系统,特别是在美国,欧洲和日本,然而苹果确实在中 ...
- [转载]Google Android开发精华教程
原文地址:Android开发精华教程">Google Android开发精华教程作者:huiyi8zai Android是Google于2007年11月5日宣布的基于Linux平台的开 ...
- Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)
用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...
- Android实战简易教程-第四十枪(窃听风云之短信监听)
近期在做监听验证码短信自己主动填入的功能,无意间想到了一个短信监听的办法. 免责声明:短信监听本身是一种违法行为,这里仅仅是技术描写叙述.请大家学习技术就可以.(哈哈) 本实例是基于bmob提供的后台 ...
- Android 开发系列教程之(一)Android基础知识
什么是Android Android一词最早是出现在法国作家维里耶德利尔·亚当1986年发表的<未来夏娃>这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android,这就是And ...
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- 【转】在Eclipse下搭建Android开发环境教程
本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢. 一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...
- Xamarin 开发Android应用简易教程(1)
最近领导又安排了新的项目需求,只好学习学习如何在.net环境下开发APP(原来没有接触过App开发)! 1.安装VS2017移动应用开发模块. 2.使用VS2017,主要是便利,无需配置环境等一系列麻 ...
- Android开发的教程和资源
Android 设计指南非官方简体中文版 http://www.apkbus.com/design/index.html NDK下载 http://developer.android.com/tool ...
随机推荐
- tomcat查看端口被占用
1. tomcat有安装版和压缩版 安装版的没有关闭命令 压缩版的命令如下: tomcat关闭:catalina stop/shutdown 开启:catalina start 2. 在tomca ...
- es6学习笔记--解构赋值
昨天学习了es6语法中解构赋值,解构赋值在声明中和函数传参提高了灵活性和便捷性,值得掌握该语法. 概念: ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构 ...
- 【BZOJ1257】余数之和(数论分块,暴力)
[BZOJ1257]余数之和(数论分块,暴力) 题解 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的 ...
- [LNOI2014] LCA
题目描述: 网址:http://www.lydsy.com/JudgeOnline/problem.php?id=3626 大意: 给出一个n个节点的有根树(编号为0到n-1,根节点为0). 一个点的 ...
- [BZOJ4804]欧拉心算
题面戳我 题意:求 \[\sum_{i=1}^{n}\sum_{j=1}^{n}\phi(\gcd(i,j))\] 多组数据,\(n\le10^7\). sol SBT 单组数据\(O(\sqrt n ...
- [BZOJ4825][HNOI2017]单旋spaly
BZOJ Luogu 题目太长了,就不放了. 题解 首先声明一点,无论是splay还是spaly,插入一个新的元素,都要rotate到根!所以说题目也算是给了一个错误示范吧. 我们发现把最值旋转到根并 ...
- Handsontable 筛选事件
有时候我们需要知道在使用Handsontable时筛选掉了哪些数据,并对这些数据进行处理,可以使用afterFilter事件来进行相关操作. Handsontable筛选掉的数据没有真的被删除,而是被 ...
- 电路ppt作业
例二 例三 3.例一
- WPF简易北京地铁效果图
这个是百度地图上北京地铁的地址http://map.baidu.com/?subwayShareId=beijing,131,我们先看下百度上面的效果图 我要实现的内容比较简单,就是绘制这些图,和在地 ...
- 软件测试第二周作业 WordCount
本人github地址: https://github.com/wenthehandsome23 psp阶段 预估耗时 (分钟) 实际耗时 (分钟) 计划 30 10 估计这个任务需要多少时间 20 ...