安卓入门学习之Hello,world!
第二章 Hello,world!
本文同时发表至简书,不为什么,用他的MarkDown在线编辑爽得要哭。
注意:本章节所使用的开发工具为Eclipse
以Android编程权威指南作为学习书物
第一节 创建第一个Android程序
在创建第一个Android程序前,我们要了解这个项目要做哪些东西,处理了哪些业务。以书中项目为例,这个项目是做一个问答的功能。一个问题下有问,有正确错误的选项进行筛选。同时可以选择下一题。这是最基本的需求。
了解需求后,就可以进一步进行需求分解:
- 问题是如何产生,是以写死在页面上的还是做成后台可管理配置的
- 问答时如何进行进行正确错误的验证
- 每个问题都是一个新的页面组成的吗,由问题1引申而出
- 此功能是否要支持横竖屏的操作
分解完需求后,大致在心中有一定的印象,大体要做哪些东西。异常该如何处理。接下来是创建项目的正文。首先开启Eclipse,检查Eclipse是否正确安装ADT与SDK,如未正确安装,请点击此处进行相应环境的搭配。然后点击File->New->Android Application Project创建第一个Android程序。
注意:
如果在New中没有这种选项,也不要急。可以在`NEW`->`Other`中选择Android项目。
但如果在`Other`中没有这个选项则说明你的环境并没有完全的安装清楚。以移步至 ( http://www.jianshu.com/p/10283431344e) 进行相应的环境安装与配置。
创建新的Android工程具体如下图所示:

输入好相应信息后,直接点Next按钮。在第二个界面中,清除已勾选的创建定制图标(Create custom launcher icon)。主要可以自己添加自己的Logo图标。以后章节将具体描述如何操作。

单击Next,在第三个界面会询问想要创建activity类型。选择Blank Activity

继续单击Next。在应用向导中的最后一个窗口,命名activity子类为QuizActivity,如图2.4所示。注意子类名的Activity后缀。不是强制要求后缀,但为了统一代码规范,建议遵循此类命名规范。

点击完Finish后可看下如下如的工作界面。

到此,第一个项目就搭建完成。
第二节 运行Android应用
到这里,小伙伴们是不是很着急直接按运行查看输出界面如何。
大家都知道在Eclipse中,可以通过Main函数进行控制台输出执行结果,jsp可以通过Tomcat等服务器输出页面。但要如何从Eclipse输出Android呢?
要运行Android应用,需要使用硬件设备或者虚拟设备。虚拟设备是包含在开发工具中。
2.1 使用模拟器运行应用
选择Window->Android Virtual Device Manager菜单项,当AVD管理器弹出时,点击创建新AVD。具体配置如下图:

创建成功后,我们使用此AVD运行创建好的Android项目。点击项目文件夹名,右键弹出菜单,选择Run As->Android Application。此时Eclipse会自动查找新建的虚拟设备,安装应用包(APK全称为: Android *Package*),随后启动并运行应用 。在运行过程中,Eclipse全询问是否使用LogCat自动监控,请选择Yes。
Android开发过程中免不了要进行调试,而Android自带的Logcat是相对来说比较好的调试器。如何进行调试也是一个优秀的程序员必备的技能。
以下是LogCat的相关文章,有空可以进行查阅。
在第一次执行虚拟AVD时,会卡住一段时间。在这段时间内写了上面的引申内容。废话不多说,直接上图看执行的结果:

是不是有点感觉摸到入门的气息?是的。这就是你的第一个Android应用。但用虚拟的AVD实在太慢。而且开一个Eclipse后,再开浏览器查文档,最后运行下虚拟AVD,4G内存有些吃不消。接下来有个好的解决方案:物理机调试,也叫真机调试。
2.2 使用物理机运行应用
想要进行真机调试有如下几个步骤
- 确保要调试的安卓手机版本高于或等于项目选择的版本
- 通过数据线将安卓手机连接到电脑/笔记本上
- 将安卓手机设置为开发者模式,USB调试
- 电脑/笔记本安装好手机的驱动
通过CMD命令进入SDK所在文件夹中,执行adb devices。

最后一条是表示已成功连接上设备。
可能有眼尖的小伙伴发现为啥会有offline,unauthorized。接下来就讲如何处理这些问题。
offline出现的原因很大一部分是驱动安装完成后,没有及时的重启adb服务。
解决的方法也很简单,直接结束adb 进程服务,重启adb服务。
结束adb服务:adb kill-server
重启adb服务:adb start-server
unauthorized出现的问题主要是由于没有开启USB调试,或者手机要求验证允 许本计算机通过USB进行调试。
直接运行Run as->Android Application 就会出现选择物理手机的界面:

选择好手机后,点OK,就会向手机要求执行安装APK操作。
有些机型可能在关闭屏幕的情况下拒绝安装APK,这时要保持手机长亮。
像小米3手机会在安装前提示此APK为非Mi应用商城的APK。要求用户手动点击确认才方可安装。
安装完APK后,就可以看到既亲切又熟悉的 Hello,world

小结
以上就是今天全部的学习内部。总结如下:
- 如何通过Eclipse创建Android项目
- 如何运行Android应用
课后:请有时间的读者自行去创建个Android,并用模拟AVD与物理手机分别执行一次。
在最后可能有小伙伴会问,刚开始的时候有对项目的需求进行分析,为什么不在此章节完成?莫担心,在下个章节将对这节分析好的需求进行代码实现。
您还可以查看 第一章:环境的安装与配置
以上链接若有侵权请联系zhengguinan@hotmail.com。本人承诺除将在收到邮件24小时内删除。请见谅。
安卓入门学习之Hello,world!的更多相关文章
- VBox&vmware虚拟机安装Linux及Linux基础入门学习
VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...
- Android M中 JNI的入门学习
今年谷歌推出了Android 6.0,作为安卓开发人员,对其学习掌握肯定是必不可少的,今天小编和大家分享的就是Android 6.0中的 JNI相关知识,这是在一个安卓教程网上看到的内容,感觉很不错, ...
- Android Camera2 拍照入门学习
原文:Android Camera2 拍照入门学习 学习资料: 肾虚将军android camera2 详解说明 极客学院android.hardware.camera2 使用指南 Android 5 ...
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
随机推荐
- Android Bitmap与DrawAble与byte[]与InputStream之间的转换工具类【转】
package com.soai.imdemo; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; ...
- 使用SWFUpload插件上传文件
演示代码由两部分组成,包括前台文件和后台文件: 1.前台文件index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...
- bzoj 2542: [Ctsc2001]终极情报网 费用流
题目链接 2542: [Ctsc2001]终极情报网 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 321 Solved: 125[Submit][S ...
- 数字运算、ASCII
num20 = dollar/20;num10 = (dollar - 20*num20)/10;num5 =(dollar-20*num20-10*num10)/5;//可以写为num5 = (do ...
- 《火球——UML大战需求分析》(0.2)——目录
说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...
- Codeforces 430B Balls Game(Two Pointers)
[题目链接] http://codeforces.com/contest/430/problem/B [题目大意] 祖玛游戏,给出一个序列,表示祖玛球的颜色序列,三个或者以上的球碰在一起就会发生消除, ...
- iPhone 6 为何坚持1GB内存?
原文地址:http://digi.ifeng.com/expert/special/96/#6467378-qzone-1-9015-46cf52f061fd6e814686a918cedcb024 ...
- S3C6410 GPIO操作接口
在后面的驱动学习中,需要对GPIO进行一系列的操作,了解这些引脚操作有助于编码的效率. 一.配置GPIO S3C6410要使用其引脚时,需要对其进行配置,如配置为输入/输出/中断等功能,根据芯片手册来 ...
- 高效率JavaScript编写技巧
最近在编写一个JavaScript框架,发现有很多细节注意得不够,担心长时间积累会导致框架实际应用的时候出现严重的效率问题.于是开始关注JavaScript提高效率的一些技巧,在这里分享给大家. 1. ...
- HTML5新特性之CSS+HTML5实例
1.新的DOCTYPE和字符集 HTML5的一项准则就是化繁为简,Web页面的DOCTYPE被极大的简化. <!DOCTYPE html> 同时字符集声明也被简化了: <meta c ...