作者cooper6334 (小恐龙)
看板AndroidDev
标题[分享] Android教学(1)-开发环境
时间Sun Dec 9 03:23:04 2012
网志图文版:
http://cooper6334.blogspot.tw/2012/12/android1.html
前言:前一阵子,我在学校开办给社会大众的Android课程担任讲师,
现在终於告一段落了。在上完课之前我就一直想说要把上课的内容放上网路,
没想到拖到今天才开始动手。
这是一系列Android教学文的第一篇,从如何开始写Android到各种Android功能的
使用方式。这系列的文章预设是给有程式基础的人看的,最好是有java基础,略懂物件导
向与继承,但是只会写C/C++的话应该也还能对付着学。若是想从Java开始学,可以参考
良葛格学习笔记。
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/JavaGossip.htm
-------------------------------以下是正文------------------------------------
要学一项新的技术,最麻烦的往往是不知从何开始。以前要开发Android App步骤很多很
麻烦,先灌JDK设定参数,抓Eclipse跟Android SDK,再安装ADT。不过最近最新释出的
Android SDK 4.2帮你把东西都包好了!!
要开始写Android,只要到Google developer
http://developer.android.com/sdk/index.html
下载最新的Android SDK下来解压缩,
就可以直接用包在里面的Eclipse开始动手了!!
在Google developer中也能找到Android的文件。若是在写程式时碰到不会用的函式
或类别,可以到这边查询用法,不过一般来说直接Google会比较快XD。
Eclipse
Eclipse是现在最常见的IDE之一,主要是拿来写Java程式,但是配合不同的plug in,也
可以撰写C/C++/Python/Java Script等不同的程式语言。在写程式时Eclipse也提供了很
多方便的功能,例如自动排版(Ctrl+Shift+f),自动完成(Alt+/)或是Debug 提示等等。
当然他的自动侦错只限於语法错误,程式逻辑的问题是找不出来的,不过在需要import或
是实作implement的函式时就可以侦测并且帮你补上该写的部份。
Android SDK Manager
在Eclipse中可以透过Android SDK Manager管理目前所安装的Android开发版本。Android
的版本众多,市面上目前从2.x到4.x都有,而下载下来的SDK里面只有最新的4.2版,若是
要撰写或是编译其他版本的Android程式,就要透过Android SDK Manager下载对应版本的
SDK。
AVD Manager
AVD Manager全名是Android Virtual Device Manager,用来建立管理Android模拟器。可
以透过他来建立Android模拟器以运行Android app。在建立模拟器时,要选择模拟器的硬
体规格,Android版本,SD卡大小等等参数。之後就能够开启Android模拟器了。模拟器的
版本也差很多,某些版本的模拟器在使用相机或影片等功能时会无法运作。
模拟器打开来基本上跟实际的手机差不多,也可以直接开启里面安装的APP,或是透过手
机里本来就有的设定来管理App。在操作上则是透过滑鼠,在上面点击拖曳就等同於用手
指触控。
虽然Android模拟器的效能很差,但是在没有实机的时候还是能拿来顶着用,而且在开发
跟简讯,电话,GPS等功能相关的App时,透过模拟器开发可以更方便的测试这些功能。
DDMS
DDMS是Android SDK所提供的Debug工具,可以用来监测模拟器和实机的运作状态,底下是
DDMS内所提供常用的工具。如果不小心关掉或是找不到的话,可以到Window->Open
perspective开启DDMS,还有到Window->Show View开启下面的功能。
Devices
在Devices可以看到目前开启的模拟器与实机,还有里面正在运行的程式状态。在这边可
以强制停止程式,也可以透过相机的icon截取萤幕截图。在同时有多台设备时,也是在这
边选择DDMS其他功能要显示与操作的目标。
Emulator Control
Eulator Control用来对模拟器进行操作,这边提供的是发送简讯,打电话给模拟器,或
是发送GPS的经纬度座标给模拟器。
File Explorer
可以看见设备中的档案系统,也可以从手机删除/下载/上传档案。不过要操作的话可能要
对Linux的系统架构有些了解,才能够找到档案的位置。
LogCat
LogCat可以用来看手机内所发出的Log,不管是系统所发或是自己主动发出的Log。LogCat
在写程式Debug时几乎可以说是必备的工具。在写程式时,除了可以透过Log了解程式运行
的状态,最重要的是,当程式当掉,我们可以透过系统的Log找出原因。LogCat也提供过
滤的功能,可以直接搜寻类型,tag或内容。
当程式Crash时,第一件事就是到LogCat看为什麽Crash!
一般来说,当程式整个当掉,系统会喷出一堆Log告诉你程式是怎麽当的。因为Java的物
件继承关系很密切,所以Log中会把每一层的资讯都显示出来,不过最重要的资讯是
1.Cause By xxxException
2.at 你的package name (你的某个class:行数)
at package name(class:行数)告诉你程式在那里当掉,双击还可以直接跳到那一行。
Cause By xxxException告诉你程式为什麽当掉,有经验的程式设计师在看到Exception的
类型时就能够判断是那里出错。最常见的Ecxeption有NullPointerException(使用到空的
物件),ClassNotFoundException(在Android中常常是忘了在Android Manifest中宣告
Activity或Service),ClassCastException(物件转型转错)等等。若是程式当掉不知道怎
麽修,把Exception丢上Google也往往能找到答案。
开发环境就介绍到这边,下一篇来讲建立执行Android Project与其内容架构。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.214.106
※ 编辑: cooper6334 来自: 118.169.214.106 (12/09 03:29)
1F:→ cha122977:推cooper~ 12/09 05:32
2F:推 milonga332:推~ 12/09 10:04
3F:推 hansfong:有看有推 12/09 10:43
4F:推 pkmilk:写得很清楚~推 12/09 11:07
5F:推 terrybob:受教了,先收下 12/09 11:34
6F:推 kewang:大推! 12/09 12:57
7F:推 lovelycateye:满仔细的~ 12/09 17:55
8F:→ givemepass:大推详细教学 感谢你 12/09 23:10
9F:推 nfsong:THX 12/10 22:42
10F:推 weimax:有看有推 希望能坚持下去...很多网路写的不错的教学都常常 12/10 22:53
11F:→ weimax:中断或是更新太慢...好几个月才出一次 12/10 22:53
12F:→ cooper6334:目前是预计一周1~2篇拉,不过要看我硕论进度QQ 12/10 23:17
13F:推 lethegirlgo:推~感谢分享 12/11 23:39
14F:推 MetalChao:感谢分享! 12/16 22:53