[color=blue][size=large][size=large]Google于2005年并购了成立仅22个月的高科技企业Android,展开了短信、手机检索、定位等业务,同时基于Linux的Android平台也进入了开发阶段。Google在2007年11月5日发布了Android的第一个版本。在刚发布之初,Android并没有引起业界太多的关注。但随着Google组建的开放手机联盟不断有新生力量加入,Android这个初出茅庐的小子已成为与 iPhone分庭抗礼的生力军。
在作者写作本书时,至少有数十家不同规模的手机厂商宣布加入Android阵营。基于Android的手机也是琳琅满目。现在让我们进入时空隧道,回到2008年9月23日(北京时间2008年9月23日22:30)的美国纽约,Google和运营商T- Mobile共同发布了世界上第一款安装Android系统的手机T-Mobile G1。由于这款手机的出色表现,使Android真正成为了万众瞩目的焦点。正是因为Android和其他几项创新,在17个月后的2010年2月25 日,美国著名商业杂志《Fast Company》评选的2010年全球最具创新力公司50强中,Google位列移动领域十大最具创新力公司榜首。
本章内容
& Android的系统构架
& 搭建Android开发环境
& Android SDK中的常用命令行工具(包括adb、android和mkcdsard)
& 可以在PC上运行的Android系统(用于在没有真机的情况下测试程序)
& 应用程序商店
1.1 Android的基本概念
Android的中文意思是“机器人”。但在移动领域,大家一定会将Android与Google联系起来。 Android本身就是一个操作系统,只是这个操作系统是基于Linux内核的。也就是说,从理论上,基于Linux的软件移植到Android上是最容易的。Android是一个由30多家科技公司和手机公司组成的“开放手机联盟”共同研发的,而且完全免费开源,这将大大降低新型手机设备的研发成本,甚至Android已成了“山寨”机的首选。
1.1.1 Android简介
Android作为Google最具创新的产品之一,正受到越来越多的手机厂商、软件厂商、运营商及个人开发者的追捧。目前Android阵营主要包括HTC(宏达电)、T-Mobile、高通、三星、LG、摩托罗拉、ARM、软银移动、中国移动、华为等。虽然这些机构有着不同的性质,但它们都在Android平台的基础上不断创新,让用户体验到最优质的服务。尤其要提一下的是中国移动与播思公司联合研发的基于 Android的OMS系统已取得了不俗的业绩(关于OMS和OPhone将在第4篇详细介绍)。下面欣赏几款具有代表性的Android手机。第一款毫无疑问,就是世界是第一部Android手机T-Mobile G1,如图1.1所示。这款手机带有一个物理键盘(硬键盘),可以通过侧划拉出。第二款是创下了销售奇迹的HTC Hero,也称为G3,如图1.2所示。这款手机的显著特征是下方有一个突起的小“下巴”。除此之外,HTC Hero绚丽的Sense界面也成为Android手机中一道亮丽的风景。最后一款创下了配置之最,这就是2009年底发布的几款拥有1GMHz CPU的手机之一:SonyEricsson X10,如图1.3所示。
图1.1 T-Mobile G1
图1.2 HTC Hero
图1.3 拥有1GMHz CPU的SonyEricsson X10
欣赏完这么多“超酷”的手机,现在来看一下Android到底有什么魔力,可以让众多的粉丝为之疯狂。据粗略统计,Android至少有如下8件制胜法宝:
l 开放性。Android平台是免费、开源的。而且Google通过与运营商、设备制造商、开发商等机构形成的战略联盟,希望通过共同制定标准使Android成为一个开放式的生态系统。
l 应用程序的权限由开发人员决定。编写过Symbian、Java ME程序的读者应该能体会到这些程序在发布时有多麻烦。如果访问到某些限制级的API,不是出现各种各样的提示,就是根本无法运行。要想取消这些限制,就得向第三方的认证机构购买签名,而且价格不菲。而Android平台的应用程序就幸福得多。要使用限制级的API,只需要在自己的应用程序中配置一下即可,完全是DIY。这也在某种程度上降低了Android程序的开发成本。
l 我的平台我作主。Android上的所有应用程序都是可替换和扩展的,即使是拨号、Home这样的核心组件也是一样。只要我们有足够的想象力,就可以缔造出一个独一无二、完全属于自己的Android世界。
l 应用程序之间的无障碍沟通。应用程序之间的通信一直令人头痛,而在Android平台上无疑是一种享受。在Android平台上应用程序之间至少有4种沟通方式。很难说哪一种方式更好,但它们的确托起了整个Android的应用程序框架。
l 拥抱Web的时代。如果想在Android应用程序中嵌入HTML、JavaScript,那真是再容易不过了。基于Webkit内核的WebView组件会完成一切。更值得一提的是,JavaScript还可以和Java无缝地整合在一起(见第9章的实例57中的介绍)。
l 物理键盘和虚拟键盘双管齐下。从Android 1.5开始,Android同时支持物理键盘和虚拟键盘,从而可大大丰富用户的输入选择。尤其是虚拟键盘,已成为Android手机中主要的输入方式。
l 个性的充分体现。21世纪是崇尚个性的时代。Android也紧随时代潮流提供了众多体现个性的功能。例如,Widget、Shortcut、Live WallPapers,无一不尽显手机的华丽与时尚。
l 舒适的开发环境。Android的主流开发环境是Eclipse + ADT + Android SDK。它们可以非常容易地集成到一起,而且在开发环境中运行程序要比Symbian这样的传统手机操作系统更快,调试更方便。
虽然Android的特点还有很多,但这已经不重要。重要的是现在Android已经成为万众瞩目的国际巨星,她的未来将令人充满期望。
1.1.2 Android的系统构架
通过上一节的介绍,我们对Android的特点已经有了一个初步的了解。本节将介绍Android的系统构架。先来看看Android的体系结构,如图1.4所示。
图1.4 Android的体系结构
从图1.4可以看出Android分为4层,从高到低分别是应用层、应用框架层、系统运行库层和Linux内核层。下面将对这4层进行简单介绍。
l 应用层。该层由运行在Dalvik虚拟机(为Android专门设计的基于寄存器的Java虚拟机,运行Java程序的速度更快)上的应用程序(主要由Java语言编写)组成。例如,日历、地图、浏览器、联系人管理,都属于应用层上的程序。
l 应用框架层。该层主要由View、通知管理器(Notification Manager)、活动管理器(Activity Manager)等由开发人员直接调用的组件组成。
l 系统运行库层。Java本身是不能直接访问硬件的。要想让Java访问硬件,必须使用NDK才可以。NDK是一些由C/C++语言编写的库。这些程序也是该层的主要组成部分。该层主要包括C语言标准库、多媒体库、OpenGL ES、SQLite、Webkit、Dalvik虚拟机等。也就是说,该层是对应用框架层提供支持的层。
l Linux内核层。该层主要包括驱动、内存管理、进程管理、网络协议栈等组件。目前Android的版本基于Linux 2.6内核。[/size]
1.2 Android开发环境的搭建
工欲善其事,必先利其器。开发Android应用程序总不能直接用记事本开发吧(那些超级大牛除外)。找到合适的开发工具是学习Android开发的第一步。而更多地了解Android的开发环境将会对进一步学习Android保驾护航。
1.2.1 开发Android程序需要些什么
开发Android程序至少需要如下工具和开发包:
l JDK(建议安装JDK1.6或以上版本)
l Eclipse
l Android SDK
l ADT(Android Development Tools,开发Android程序的Eclipse插件)
其中JDK的安装非常简单,读者可以在官方网站下载JDK的最新版,并按着提示进行安装。Eclipse下载后直接解压即可运行。在1.2.2节和1.2.3节将介绍Android SDK和ADT的安装。
1.2.2 安装Android SDK
读者可以从下面的两个地址下载Android SDK的最新版本:
地址1
http://developer.android.com/intl/zh-CN/sdk/index.html
地址2
http://androidappdocs.appspot.com/sdk/index.html
该版本可以同时安装6个Android SDK 版本(1.1至2.1)。要注意,Android SDK是在线安装。在安装Android SDK 之前,要保证有稳定而快速的Internet连接。如果完全安装Android SDK,安装时间会比较长,读者需要耐心等待。
如果安装Android SDK时下载文件失败,可以将如图1.5所示的安装界面右下角的第1个复选框选中,然后重新安装Android SDK。如果安装过程顺利,将会出现如果1.6所示的下载界面。
图1.5 使用http下载文件
图1.6 安装过程的下载界面
Android SDK安装成功后,会看到如图1.7所示的Android SDK根目录结构。platforms目录包含当前Android SDK支持的所有版本,如图1.8所示。
图1.7 Android SDK根目录结构
图1.8 已经安装的所有Android SDK版本
1.2.3 安装Eclipse插件ADT
在作者写作本书时,ADT的最新版本是0.9.5。该版本必须下载最新的Android SDK才能使用。读者可以在Eclipse中直接安装ADT。
如果读者使用的是Eclipse 3.4(Ganymede),单击【Help】>【Software Updates...】菜单项。在显示的对话框中单击【Available Software】标签页,然后单击【Add Site...】按钮。在显示的对话框的文本框中输入如下地址:
https://dl-ssl.google.com/android/eclipse/
单击【OK】按钮关闭该对话框。回到【Available Software】标签页,选中刚才增加的地址,然后单击右侧的【Install】按钮开始安装ADT插件。在弹出的安装对话框中选中Android DDMS和Android Development Tools两项,单击【Next】按钮进入下一个安装界面,选中接受协议复选框,最后单击【Finish】按钮开始安装。当成功安装ADT后,重启 Eclipse即可使用ADT来开发Android程序。
如果使用的是Eclipse 3.5(Galileo),单击【Help】>【Install New Software...】菜单项,显示安装对话框,然后单击右侧的【Add...】按钮,在弹出的对话框的第1个文本框输入一个名字,在第2个文本框输入上面的地址。剩下的安装过程与Eclipse 3.4类似。读者可以参考Eclipse 3.4的安装过程或通过如下两个地址查看官方的安装文档。
地址1
http://developer.android.com/intl/zh-CN/sdk/eclipse-adt.html
地址2
http://androidappdocs.appspot.com/sdk/eclipse-adt.html
安装完ADT后,还需要设置一下Android SDK的安装目录。单击【Window】>【Preferences】菜单项。在弹出的对话框中选中左侧的【Android】节点。在右侧的【SDK Location】文本框中输入Android SDK的安装目录,如图1.9所示。
图1.9 设置Android SDK的安装目录
1.2.4 测试ADT是否安装成功
本节将新建一个Android工程来测试一下ADT是否安装成功。单击【New】>【Android Project】菜单项(如果没有该菜单项,可以单击【New】>【Other】菜单项,在弹出对话框的树中寻找【Android】节点),显示建立Android工程的对话框。在弹出的对话框中按照图1.10所示输入相应的内容(黑框内的内容必须输入或选择)。单击【Finish】按钮创建 Android工程。
在运行firstandroid工程之前还需要建立一个AVD设备。一个AVD设备对应一个Android版本的模拟器实例。由于firstandroid使用的是Android 2.1,因此,需要建立一个支持Android 2.1的AVD设备。单击Eclipse左侧的按钮。在显示的对话框中单击【New...】按钮新建一个AVD设备。并按照图1.11所示黑框中的内容输入相应的值,然后单击【Create AVD】按钮建立AVD设备。
图1.10 创建Android工程
图1.11 建立AVD设备
建立完AVD设备后,找到firstandroid工程,单击右键菜单的【Run As】>【Android Application】菜单项,运行firstandroid。这时ADT会自动启动模拟器,并在模拟器上运行firstandroid。在模拟器成功启动后,会出现如图1.12所示的模拟器锁定状态的界面。用鼠标按住屏幕左下方的小锁,将其拖动到屏幕右下方的喇叭处,就会解除这种状态。这时会显示 firstandroid的运行结果,如图1.13所示。
图1.12 模拟器的锁定状态
图1.13 firstandroid的运行结果
虽然Android模拟器可以测试大多数Android应用程序,但有一些和硬件相关的API(例如,蓝牙、传感器)无法测试。在这种情况下就需要通过USB数据线连接真机进行测试,详细的测试方法请见14.1节的内容。
1.3 Android SDK中的常用命令行工具
在<Android SDK安装目录>\tools目录中带了很多命令行工具。虽然一般的开发人员并不需要完全掌握这些工具的使用方法,但了解这些工具的一些基本使用方法还是会对以后的开发工作起到一定的辅助作用。本节将介绍几种常用的命令行工具的使用方法,这些工具主要包括adb、android和mksdcard。在使用这些命令行工具之前,建议读者将<Android SDK安装目录>\tools目录加到PATH环境变量中,这样在任何目录中都可以使用这些工具了。
1.3.1 启动和关闭ADB服务(adb start-server和adb kill-server)
经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可以找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题,但那比较麻烦。如果想手工关闭adb服务,可以使用如下命令:
adb kill-server
在关闭adb服务后,要使用如下命令启动adb服务:
adb start-server
1.3.2 查询当前模拟器/设备的实例(adb devices)
有时需要启动多个模拟器实例,或启动模拟器的同时通过USB数据线连接了真机。在这种情况下就需要使用如下命令查询当前有多少模拟器或真机在线:
adb devices
执行上面的命令后,会输出如图1.14所示的信息。
其中第1列的信息(emulator-5554、HT9BYL904399)表示模拟器或真机的标识。 emulator-5554表示模拟器,其中5554表示adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。 HT9BYL904399表示通过USB数据线连接的真机。如果在运行Android程序时有多个模拟器或真机在线,会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。详细介绍读者可以查看14.1.2节的内容。
文本框: 图1.14 查询模拟器/设备的实例
输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有连接到adb上或实例没有响应。
1.3.3 安装、卸载和运行程序(adb install、adb uninstall和am)
在Eclipse中运行Android程序必须得有Android源码工程。如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件),该如何安装和运行呢?答案就是adb命令。假设要安装一个ebook.apk 文件,可以使用如下命令:
adb install ebook.apk
假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下命令卸载这个应用程序:
adb uninstall net.blogjava.mobile.ebook
关于package的概念在以后的学习中会逐渐体会到,现在只要知道package是Android应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。
adb install -r ebook.apk
在卸载应用程序时可以加上-k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示:
adb uninstall -k net.blogjava.mobile.ebook
如果机器上有多个模拟器或真机实例,需要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。
在emulator-5554模拟器上安装ebook.apk:
adb -s emulator-5554 install ebook.apk
在真机上安装ebook.apk:
adb -s HT9BYL904399 install ebook.apk
在emulator-5554模拟器上重新安装ebook.apk:
adb -s emulator-5554 install -r ebook.apk
在真机上重新安装ebook.apk:
adb -s HT9BYL904399 install -r ebook.apk
在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录):
adb -s emulator-5554 uninstall net.blogjava.mobile.ebook
在真机上卸载ebook.apk(保留数据和缓冲目录):
adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook
如果在模拟器和真机上成功安装ebook.apk,将会分别输出如图1.15和图1.16所示的信息。
图1.15 在模拟器上成功安装ebook.apk
图1.16 在真机上成功安装ebook.apk
如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下命令直接运行程序。
在emulator-5554模拟器上运行ebook.apk:
adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
在真机上运行ebook.apk:
adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
其中Main是ebook.apk的主Activity,相当于Windows应用程序的主窗体或Web应用程序的主页面。am是shell命令。关于shell命令将在1.3.5节详细介绍。
1.3.4 PC与模拟器或真机交换文件(adb pull和adb push)
在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模拟机和真机上的文件复制到PC 上。使用adb pull和adb push命令可以很容易地完成这个工作。例如,下面的命令将真机的SD卡根目录下的camera.jpg文件复制到PC的当前目录,取名为 picture.jpg。又把picture.jpg文件复制到真机的SD卡的根目录,取名为abc.jpg。
从真机上复制文件到PC:
adb -s HT9BYL904399 pull /sdcard/camera.jpg picture.jpg
从PC复制文件到真机:
adb -s HT9BYL904399 push picture.jpg /sdcard/abc.jpg
如果读者安装了ADT,可以通过DDMS透视图的【File Explorer】视图右上方的几个按钮方便地从模拟器或真机上导入、导出和删除文件。
1.3.5 Shell命令
Android是基于Linux内核的操作系统,因此,在Android上可以执行Shell命令。虽然在手机上提供了可以输入命令的Shell程序,但在手机上输入程序实在不方便。为了更方便地在模拟器或手机上执行Shell命令,可以使用如下命令在PC上进入Shell控制台:
adb -s HT9BYL904399 shell
Shell控制台的提示符是一个井号(#)。进入Shell后,输入cd system/bin命令,再输入ls命令,可以看到当前Android系统支持的命令文件,如图1.17所示。读者可以根据实际情况使用相应的命令。
图1.17 Shell控制台
1.3.6 创建、删除和浏览AVD设备(android)
在1.2.4节介绍了如何在Eclipse中建立一个AVD设备。本节将介绍直接使用android命令建立和删除AVD设备。建立AVD设备的命令如下:
android create avd -n myandroid1.5 -t 2
其中myandroid1.5表示AVD设备的名称,该名称可以任意设置,但不能和其他AVD设备冲突。-t 2中的2指建立Android 1.5的AVD设备,1表示Android 1.1的AVD设备,以此类推。目前最新的Android 2.1应使用-t 6来建立AVD设备。在执行完上面的命令后,会输出如下信息来询问是否继续定制AVD设备:
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
如果读者不想继续定制AVD设备,直接按回车键即可。如果想定制AVD设备,输入y,然后按回车键。系统会按步提示该如何设置。中括号内是默认值,如果某个设置项需要保留默认值,直接按回车键即可。如果读者使用的是Windows XP,默认情况下AVD设备文件放在如下目录中:
C:\Documents and Settings\Administrator\.android\avd
如果想改变AVD设备文件的默认存储路径,可以使用-p命令行参数,命令如下:
android create avd -n myandroid1.5 -t 2 -p d:\my\avd
删除AVD设备可以使用如下命令:
android delete avd -n myandroid1.5
通过下面的命令可以列出所有的AVD设备:
android list avds
1.3.7 创建SD卡
在模拟器上测试程序经常需要使用SD卡。在PC上需要使用mksdcard命令创建一个虚拟的SD卡文件,创建一个10MB大小的SD卡文件的命令如下:
mksdcard -l sdcard 10MB sd.img
其中sdcard表示SD卡的卷标,10M表示SD卡的大小,单位还可以是KB。但要注意,SD卡的大小不能小于8MB,否则无法创建SD卡文件。sd.img是SD卡的文件名。如果要在Eclipse中启动模拟器,或直接启动模拟器(使用emulator命令),需要使用-sdcard命令行参数指定SD卡文件的绝对路径。
1.4 PC上的Android
在程序发布之前,最好在真机上测试一下,毕竟模拟器无法100%地模拟真机的环境。如果没有真机该怎么办呢?模拟器虽然可以正常运行大多数Android程序,但模拟器的环境毕竟是模拟出来的,并不是真正的Android操作系统。当然,还可以想其他的办法。 Android从理论上也可以运行在PC上。因此,可以采用像Android LiveCD一样的PC版Android操作系统来测试程序。这可是真正的Android操作系统,只是运行在PC上,而不是手机上。下面来感受一下PC 上的Android。
1.4.1 Android LiveCD
Android LiveCD是code.google.com上的一个开源项目,以ISO形式发布,可直接从光盘启动。在作者写作本书时,Android LiveCD的最新版是0.3。读者可以从下面的地址下载Android LiveCD的最新版:
http://code.google.com/p/live-android/downloads/list
下载后,使用VMWare或其他的虚拟机软件装载ISO文件,然后从光盘(ISO文件)启动即可。启动后的界面如图1.18所示。运行程序后的效果如图1.19所示。
图1.18 Android LiveCD的运行界面
图1.19 在Android LiveCD中运行程序的效果
向Android LiveCD上传apk程序可以采用多种方法。如果PC可以上网,可以采用wget命令从Internet下载apk程序。
wget http://ip地址/blogger.apk
1.4.2 AndroidX86
AndroidX86是另外一个可以在PC上安装的Android系统,不同的是该系统不仅可以从光盘启动,还可以直接安装在硬盘上,并从硬盘启动。因此,AndroidX86是一个真正的操作系统。读者可以从如下地址下载AndroidX86的最新版:
http://www.androidx86.org
AndroidX86的使用方法与Android LiveCD类似。图1.20是AndroidX86的安装界面。图1.21是AndroidX86的运行界面。
图1.20 AndroidX86的安装界面
图1.21 AndroidX86的运行界面
1.5 Android的学习资源
获得第一手的资源是学习Android的关键。通过如下两上地址可以访问Android的官方页面,在该页面有最新的开发指南、API、SDK和其他资源。
地址1
http://developer.android.com
地址2
http://android appdocs.appspot.com
除此之外,通过Google搜索也可以找到大量关于Android的学习资源,下面推荐几个国内比较受关注的Android学习网站。
l EOE Android开发论坛,http://www.eoeandroid.com。
l 安卓网,http://www.hiapk.com。
l 机锋网,http://www.androidin.net。
l 中国移动的开发者社区,http://dev.chinamobile.com。
l Google的源代码托管网站,http://code.google.com。在该网站上有大量基于Android的应用程序源代码。直接通过源代码学习将会获得更佳的效果。
上一页 首页 下一页
发表评论 更多评论
图书导读
当前章节:1.5 Android的学习资源
·1.2 Android开发环境的搭建
·1.3 Android SDK中的常用命令行工具
·1.4 PC上的Android
·1.6 应用程序商店
·1.7 本章小结
·8.1 Service起步
1.6 应用程序商店
写程序不是目的,写完程序我们能从中得到什么才是最终目的。当然,最直接得到的就是经验。可除此之外呢?相信大多数开发人员都希望从自己的程序中获利。当然,最好是名利双收。如果正在阅读本书的读者是这么想的,本节介绍的应用程序商店也许正好适合这些读者的口味。
1.6.1 Android Market
这是世界上第一个卖Android应用程序的在线商店。该在线商店由Google创办,地址如下:
http://www.android.com/market
在Android手机上可以通过Android Market客户端浏览和下载商店中的应用程序(在Android Market中有免费和收费两类程序)。客户端的主界面如图1.22所示。浏览和下载游戏程序的界面如图1.23所示。
图1.22 Android Market客户端的主界面(HTC Hero)
图1.23 浏览和下载游戏程序的界面(HTC Hero)
1.6.2 Mobile Market(MM)
MM是中国移动发起并创办的应用程序商店。该商店主要面向国内用户,更适合中国人的口味。主页的地址如下:
http://www.mmarket.com
MM与Android Market的区别是MM不仅卖基于Android/OMS的应用程序(OMS是中国移动在Android的基础上定制的手机操作系统),还可以卖基于 Symbian、Windows Mobile、Java ME等手机平台的程序。也就是说,MM是一个通用的应用程序商店。
MM被集成在OMS系统中,所有的OPhone手机(安装OMS的手机)都包含一个MM客户端,主界面如图 1.24所示。虽然目前在MM上还没有出现像在苹果的App Store上一样的创富神话,但随着Android/OPhone的手机用户不断增加。在MM上的应用程序会有一个很可观的收益(当然,条件是自己的应用程序做得足够吸引人)。
图1.24 MM客户端主界面
1.6.3 其他应用程序商店
除了Android Market和MM外,国内还涌现出了很多Android应用程序商店,下面举几个比较著名的应用程序商店。
l EOE Market,http://www.eoemarket.com。
l 安卓Market,http://www.hiapk.com/bbs/devcenter.php。
l Moto Market,http://developer.motorola.com。
虽然上面的Market目前都是免费上传和下载应用程序,也未实现什么赢利,但从长远来看,也会为推动Android起到一定作用。
1.7 本章小结
本章主要介绍Android开发环境的搭建。开发Android程序至少需要安装JDK、Eclipse、 Android SDK和ADT。在<Android SDK安装目录>\tools目录中有一些命令行工具,可以通过这些工具完全脱离ADT和Eclipse来完成开发工作。虽然作者并不建议这样做,但学习一些常用命令的使用方法会对开发工作起到一定的辅助作用。Android不仅可以运行在手机上,从理论上说,Android可以运行在所有的移动平台和基于X86框架的PC上。本章介绍了两种运行在PC上的Android系统:Android LiveCD和AndroidX86,通过这两种系统可以在没有真机的情况下在实际的Android系统中测试程序。做完程序后,需要将其发布到访问量较大的网站供用户免费或付费下载。而Android Market和Mobile Market是目前国内开发者的两个最好选择。当然,其他的Market也会为我们提供更多的选择。[/size][/color]
在作者写作本书时,至少有数十家不同规模的手机厂商宣布加入Android阵营。基于Android的手机也是琳琅满目。现在让我们进入时空隧道,回到2008年9月23日(北京时间2008年9月23日22:30)的美国纽约,Google和运营商T- Mobile共同发布了世界上第一款安装Android系统的手机T-Mobile G1。由于这款手机的出色表现,使Android真正成为了万众瞩目的焦点。正是因为Android和其他几项创新,在17个月后的2010年2月25 日,美国著名商业杂志《Fast Company》评选的2010年全球最具创新力公司50强中,Google位列移动领域十大最具创新力公司榜首。
本章内容
& Android的系统构架
& 搭建Android开发环境
& Android SDK中的常用命令行工具(包括adb、android和mkcdsard)
& 可以在PC上运行的Android系统(用于在没有真机的情况下测试程序)
& 应用程序商店
1.1 Android的基本概念
Android的中文意思是“机器人”。但在移动领域,大家一定会将Android与Google联系起来。 Android本身就是一个操作系统,只是这个操作系统是基于Linux内核的。也就是说,从理论上,基于Linux的软件移植到Android上是最容易的。Android是一个由30多家科技公司和手机公司组成的“开放手机联盟”共同研发的,而且完全免费开源,这将大大降低新型手机设备的研发成本,甚至Android已成了“山寨”机的首选。
1.1.1 Android简介
Android作为Google最具创新的产品之一,正受到越来越多的手机厂商、软件厂商、运营商及个人开发者的追捧。目前Android阵营主要包括HTC(宏达电)、T-Mobile、高通、三星、LG、摩托罗拉、ARM、软银移动、中国移动、华为等。虽然这些机构有着不同的性质,但它们都在Android平台的基础上不断创新,让用户体验到最优质的服务。尤其要提一下的是中国移动与播思公司联合研发的基于 Android的OMS系统已取得了不俗的业绩(关于OMS和OPhone将在第4篇详细介绍)。下面欣赏几款具有代表性的Android手机。第一款毫无疑问,就是世界是第一部Android手机T-Mobile G1,如图1.1所示。这款手机带有一个物理键盘(硬键盘),可以通过侧划拉出。第二款是创下了销售奇迹的HTC Hero,也称为G3,如图1.2所示。这款手机的显著特征是下方有一个突起的小“下巴”。除此之外,HTC Hero绚丽的Sense界面也成为Android手机中一道亮丽的风景。最后一款创下了配置之最,这就是2009年底发布的几款拥有1GMHz CPU的手机之一:SonyEricsson X10,如图1.3所示。
图1.1 T-Mobile G1
图1.2 HTC Hero
图1.3 拥有1GMHz CPU的SonyEricsson X10
欣赏完这么多“超酷”的手机,现在来看一下Android到底有什么魔力,可以让众多的粉丝为之疯狂。据粗略统计,Android至少有如下8件制胜法宝:
l 开放性。Android平台是免费、开源的。而且Google通过与运营商、设备制造商、开发商等机构形成的战略联盟,希望通过共同制定标准使Android成为一个开放式的生态系统。
l 应用程序的权限由开发人员决定。编写过Symbian、Java ME程序的读者应该能体会到这些程序在发布时有多麻烦。如果访问到某些限制级的API,不是出现各种各样的提示,就是根本无法运行。要想取消这些限制,就得向第三方的认证机构购买签名,而且价格不菲。而Android平台的应用程序就幸福得多。要使用限制级的API,只需要在自己的应用程序中配置一下即可,完全是DIY。这也在某种程度上降低了Android程序的开发成本。
l 我的平台我作主。Android上的所有应用程序都是可替换和扩展的,即使是拨号、Home这样的核心组件也是一样。只要我们有足够的想象力,就可以缔造出一个独一无二、完全属于自己的Android世界。
l 应用程序之间的无障碍沟通。应用程序之间的通信一直令人头痛,而在Android平台上无疑是一种享受。在Android平台上应用程序之间至少有4种沟通方式。很难说哪一种方式更好,但它们的确托起了整个Android的应用程序框架。
l 拥抱Web的时代。如果想在Android应用程序中嵌入HTML、JavaScript,那真是再容易不过了。基于Webkit内核的WebView组件会完成一切。更值得一提的是,JavaScript还可以和Java无缝地整合在一起(见第9章的实例57中的介绍)。
l 物理键盘和虚拟键盘双管齐下。从Android 1.5开始,Android同时支持物理键盘和虚拟键盘,从而可大大丰富用户的输入选择。尤其是虚拟键盘,已成为Android手机中主要的输入方式。
l 个性的充分体现。21世纪是崇尚个性的时代。Android也紧随时代潮流提供了众多体现个性的功能。例如,Widget、Shortcut、Live WallPapers,无一不尽显手机的华丽与时尚。
l 舒适的开发环境。Android的主流开发环境是Eclipse + ADT + Android SDK。它们可以非常容易地集成到一起,而且在开发环境中运行程序要比Symbian这样的传统手机操作系统更快,调试更方便。
虽然Android的特点还有很多,但这已经不重要。重要的是现在Android已经成为万众瞩目的国际巨星,她的未来将令人充满期望。
1.1.2 Android的系统构架
通过上一节的介绍,我们对Android的特点已经有了一个初步的了解。本节将介绍Android的系统构架。先来看看Android的体系结构,如图1.4所示。
图1.4 Android的体系结构
从图1.4可以看出Android分为4层,从高到低分别是应用层、应用框架层、系统运行库层和Linux内核层。下面将对这4层进行简单介绍。
l 应用层。该层由运行在Dalvik虚拟机(为Android专门设计的基于寄存器的Java虚拟机,运行Java程序的速度更快)上的应用程序(主要由Java语言编写)组成。例如,日历、地图、浏览器、联系人管理,都属于应用层上的程序。
l 应用框架层。该层主要由View、通知管理器(Notification Manager)、活动管理器(Activity Manager)等由开发人员直接调用的组件组成。
l 系统运行库层。Java本身是不能直接访问硬件的。要想让Java访问硬件,必须使用NDK才可以。NDK是一些由C/C++语言编写的库。这些程序也是该层的主要组成部分。该层主要包括C语言标准库、多媒体库、OpenGL ES、SQLite、Webkit、Dalvik虚拟机等。也就是说,该层是对应用框架层提供支持的层。
l Linux内核层。该层主要包括驱动、内存管理、进程管理、网络协议栈等组件。目前Android的版本基于Linux 2.6内核。[/size]
1.2 Android开发环境的搭建
工欲善其事,必先利其器。开发Android应用程序总不能直接用记事本开发吧(那些超级大牛除外)。找到合适的开发工具是学习Android开发的第一步。而更多地了解Android的开发环境将会对进一步学习Android保驾护航。
1.2.1 开发Android程序需要些什么
开发Android程序至少需要如下工具和开发包:
l JDK(建议安装JDK1.6或以上版本)
l Eclipse
l Android SDK
l ADT(Android Development Tools,开发Android程序的Eclipse插件)
其中JDK的安装非常简单,读者可以在官方网站下载JDK的最新版,并按着提示进行安装。Eclipse下载后直接解压即可运行。在1.2.2节和1.2.3节将介绍Android SDK和ADT的安装。
1.2.2 安装Android SDK
读者可以从下面的两个地址下载Android SDK的最新版本:
地址1
http://developer.android.com/intl/zh-CN/sdk/index.html
地址2
http://androidappdocs.appspot.com/sdk/index.html
该版本可以同时安装6个Android SDK 版本(1.1至2.1)。要注意,Android SDK是在线安装。在安装Android SDK 之前,要保证有稳定而快速的Internet连接。如果完全安装Android SDK,安装时间会比较长,读者需要耐心等待。
如果安装Android SDK时下载文件失败,可以将如图1.5所示的安装界面右下角的第1个复选框选中,然后重新安装Android SDK。如果安装过程顺利,将会出现如果1.6所示的下载界面。
图1.5 使用http下载文件
图1.6 安装过程的下载界面
Android SDK安装成功后,会看到如图1.7所示的Android SDK根目录结构。platforms目录包含当前Android SDK支持的所有版本,如图1.8所示。
图1.7 Android SDK根目录结构
图1.8 已经安装的所有Android SDK版本
1.2.3 安装Eclipse插件ADT
在作者写作本书时,ADT的最新版本是0.9.5。该版本必须下载最新的Android SDK才能使用。读者可以在Eclipse中直接安装ADT。
如果读者使用的是Eclipse 3.4(Ganymede),单击【Help】>【Software Updates...】菜单项。在显示的对话框中单击【Available Software】标签页,然后单击【Add Site...】按钮。在显示的对话框的文本框中输入如下地址:
https://dl-ssl.google.com/android/eclipse/
单击【OK】按钮关闭该对话框。回到【Available Software】标签页,选中刚才增加的地址,然后单击右侧的【Install】按钮开始安装ADT插件。在弹出的安装对话框中选中Android DDMS和Android Development Tools两项,单击【Next】按钮进入下一个安装界面,选中接受协议复选框,最后单击【Finish】按钮开始安装。当成功安装ADT后,重启 Eclipse即可使用ADT来开发Android程序。
如果使用的是Eclipse 3.5(Galileo),单击【Help】>【Install New Software...】菜单项,显示安装对话框,然后单击右侧的【Add...】按钮,在弹出的对话框的第1个文本框输入一个名字,在第2个文本框输入上面的地址。剩下的安装过程与Eclipse 3.4类似。读者可以参考Eclipse 3.4的安装过程或通过如下两个地址查看官方的安装文档。
地址1
http://developer.android.com/intl/zh-CN/sdk/eclipse-adt.html
地址2
http://androidappdocs.appspot.com/sdk/eclipse-adt.html
安装完ADT后,还需要设置一下Android SDK的安装目录。单击【Window】>【Preferences】菜单项。在弹出的对话框中选中左侧的【Android】节点。在右侧的【SDK Location】文本框中输入Android SDK的安装目录,如图1.9所示。
图1.9 设置Android SDK的安装目录
1.2.4 测试ADT是否安装成功
本节将新建一个Android工程来测试一下ADT是否安装成功。单击【New】>【Android Project】菜单项(如果没有该菜单项,可以单击【New】>【Other】菜单项,在弹出对话框的树中寻找【Android】节点),显示建立Android工程的对话框。在弹出的对话框中按照图1.10所示输入相应的内容(黑框内的内容必须输入或选择)。单击【Finish】按钮创建 Android工程。
在运行firstandroid工程之前还需要建立一个AVD设备。一个AVD设备对应一个Android版本的模拟器实例。由于firstandroid使用的是Android 2.1,因此,需要建立一个支持Android 2.1的AVD设备。单击Eclipse左侧的按钮。在显示的对话框中单击【New...】按钮新建一个AVD设备。并按照图1.11所示黑框中的内容输入相应的值,然后单击【Create AVD】按钮建立AVD设备。
图1.10 创建Android工程
图1.11 建立AVD设备
建立完AVD设备后,找到firstandroid工程,单击右键菜单的【Run As】>【Android Application】菜单项,运行firstandroid。这时ADT会自动启动模拟器,并在模拟器上运行firstandroid。在模拟器成功启动后,会出现如图1.12所示的模拟器锁定状态的界面。用鼠标按住屏幕左下方的小锁,将其拖动到屏幕右下方的喇叭处,就会解除这种状态。这时会显示 firstandroid的运行结果,如图1.13所示。
图1.12 模拟器的锁定状态
图1.13 firstandroid的运行结果
虽然Android模拟器可以测试大多数Android应用程序,但有一些和硬件相关的API(例如,蓝牙、传感器)无法测试。在这种情况下就需要通过USB数据线连接真机进行测试,详细的测试方法请见14.1节的内容。
1.3 Android SDK中的常用命令行工具
在<Android SDK安装目录>\tools目录中带了很多命令行工具。虽然一般的开发人员并不需要完全掌握这些工具的使用方法,但了解这些工具的一些基本使用方法还是会对以后的开发工作起到一定的辅助作用。本节将介绍几种常用的命令行工具的使用方法,这些工具主要包括adb、android和mksdcard。在使用这些命令行工具之前,建议读者将<Android SDK安装目录>\tools目录加到PATH环境变量中,这样在任何目录中都可以使用这些工具了。
1.3.1 启动和关闭ADB服务(adb start-server和adb kill-server)
经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可以找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题,但那比较麻烦。如果想手工关闭adb服务,可以使用如下命令:
adb kill-server
在关闭adb服务后,要使用如下命令启动adb服务:
adb start-server
1.3.2 查询当前模拟器/设备的实例(adb devices)
有时需要启动多个模拟器实例,或启动模拟器的同时通过USB数据线连接了真机。在这种情况下就需要使用如下命令查询当前有多少模拟器或真机在线:
adb devices
执行上面的命令后,会输出如图1.14所示的信息。
其中第1列的信息(emulator-5554、HT9BYL904399)表示模拟器或真机的标识。 emulator-5554表示模拟器,其中5554表示adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。 HT9BYL904399表示通过USB数据线连接的真机。如果在运行Android程序时有多个模拟器或真机在线,会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。详细介绍读者可以查看14.1.2节的内容。
文本框: 图1.14 查询模拟器/设备的实例
输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有连接到adb上或实例没有响应。
1.3.3 安装、卸载和运行程序(adb install、adb uninstall和am)
在Eclipse中运行Android程序必须得有Android源码工程。如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件),该如何安装和运行呢?答案就是adb命令。假设要安装一个ebook.apk 文件,可以使用如下命令:
adb install ebook.apk
假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下命令卸载这个应用程序:
adb uninstall net.blogjava.mobile.ebook
关于package的概念在以后的学习中会逐渐体会到,现在只要知道package是Android应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。
adb install -r ebook.apk
在卸载应用程序时可以加上-k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示:
adb uninstall -k net.blogjava.mobile.ebook
如果机器上有多个模拟器或真机实例,需要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。
在emulator-5554模拟器上安装ebook.apk:
adb -s emulator-5554 install ebook.apk
在真机上安装ebook.apk:
adb -s HT9BYL904399 install ebook.apk
在emulator-5554模拟器上重新安装ebook.apk:
adb -s emulator-5554 install -r ebook.apk
在真机上重新安装ebook.apk:
adb -s HT9BYL904399 install -r ebook.apk
在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录):
adb -s emulator-5554 uninstall net.blogjava.mobile.ebook
在真机上卸载ebook.apk(保留数据和缓冲目录):
adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook
如果在模拟器和真机上成功安装ebook.apk,将会分别输出如图1.15和图1.16所示的信息。
图1.15 在模拟器上成功安装ebook.apk
图1.16 在真机上成功安装ebook.apk
如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下命令直接运行程序。
在emulator-5554模拟器上运行ebook.apk:
adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
在真机上运行ebook.apk:
adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
其中Main是ebook.apk的主Activity,相当于Windows应用程序的主窗体或Web应用程序的主页面。am是shell命令。关于shell命令将在1.3.5节详细介绍。
1.3.4 PC与模拟器或真机交换文件(adb pull和adb push)
在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模拟机和真机上的文件复制到PC 上。使用adb pull和adb push命令可以很容易地完成这个工作。例如,下面的命令将真机的SD卡根目录下的camera.jpg文件复制到PC的当前目录,取名为 picture.jpg。又把picture.jpg文件复制到真机的SD卡的根目录,取名为abc.jpg。
从真机上复制文件到PC:
adb -s HT9BYL904399 pull /sdcard/camera.jpg picture.jpg
从PC复制文件到真机:
adb -s HT9BYL904399 push picture.jpg /sdcard/abc.jpg
如果读者安装了ADT,可以通过DDMS透视图的【File Explorer】视图右上方的几个按钮方便地从模拟器或真机上导入、导出和删除文件。
1.3.5 Shell命令
Android是基于Linux内核的操作系统,因此,在Android上可以执行Shell命令。虽然在手机上提供了可以输入命令的Shell程序,但在手机上输入程序实在不方便。为了更方便地在模拟器或手机上执行Shell命令,可以使用如下命令在PC上进入Shell控制台:
adb -s HT9BYL904399 shell
Shell控制台的提示符是一个井号(#)。进入Shell后,输入cd system/bin命令,再输入ls命令,可以看到当前Android系统支持的命令文件,如图1.17所示。读者可以根据实际情况使用相应的命令。
图1.17 Shell控制台
1.3.6 创建、删除和浏览AVD设备(android)
在1.2.4节介绍了如何在Eclipse中建立一个AVD设备。本节将介绍直接使用android命令建立和删除AVD设备。建立AVD设备的命令如下:
android create avd -n myandroid1.5 -t 2
其中myandroid1.5表示AVD设备的名称,该名称可以任意设置,但不能和其他AVD设备冲突。-t 2中的2指建立Android 1.5的AVD设备,1表示Android 1.1的AVD设备,以此类推。目前最新的Android 2.1应使用-t 6来建立AVD设备。在执行完上面的命令后,会输出如下信息来询问是否继续定制AVD设备:
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
如果读者不想继续定制AVD设备,直接按回车键即可。如果想定制AVD设备,输入y,然后按回车键。系统会按步提示该如何设置。中括号内是默认值,如果某个设置项需要保留默认值,直接按回车键即可。如果读者使用的是Windows XP,默认情况下AVD设备文件放在如下目录中:
C:\Documents and Settings\Administrator\.android\avd
如果想改变AVD设备文件的默认存储路径,可以使用-p命令行参数,命令如下:
android create avd -n myandroid1.5 -t 2 -p d:\my\avd
删除AVD设备可以使用如下命令:
android delete avd -n myandroid1.5
通过下面的命令可以列出所有的AVD设备:
android list avds
1.3.7 创建SD卡
在模拟器上测试程序经常需要使用SD卡。在PC上需要使用mksdcard命令创建一个虚拟的SD卡文件,创建一个10MB大小的SD卡文件的命令如下:
mksdcard -l sdcard 10MB sd.img
其中sdcard表示SD卡的卷标,10M表示SD卡的大小,单位还可以是KB。但要注意,SD卡的大小不能小于8MB,否则无法创建SD卡文件。sd.img是SD卡的文件名。如果要在Eclipse中启动模拟器,或直接启动模拟器(使用emulator命令),需要使用-sdcard命令行参数指定SD卡文件的绝对路径。
1.4 PC上的Android
在程序发布之前,最好在真机上测试一下,毕竟模拟器无法100%地模拟真机的环境。如果没有真机该怎么办呢?模拟器虽然可以正常运行大多数Android程序,但模拟器的环境毕竟是模拟出来的,并不是真正的Android操作系统。当然,还可以想其他的办法。 Android从理论上也可以运行在PC上。因此,可以采用像Android LiveCD一样的PC版Android操作系统来测试程序。这可是真正的Android操作系统,只是运行在PC上,而不是手机上。下面来感受一下PC 上的Android。
1.4.1 Android LiveCD
Android LiveCD是code.google.com上的一个开源项目,以ISO形式发布,可直接从光盘启动。在作者写作本书时,Android LiveCD的最新版是0.3。读者可以从下面的地址下载Android LiveCD的最新版:
http://code.google.com/p/live-android/downloads/list
下载后,使用VMWare或其他的虚拟机软件装载ISO文件,然后从光盘(ISO文件)启动即可。启动后的界面如图1.18所示。运行程序后的效果如图1.19所示。
图1.18 Android LiveCD的运行界面
图1.19 在Android LiveCD中运行程序的效果
向Android LiveCD上传apk程序可以采用多种方法。如果PC可以上网,可以采用wget命令从Internet下载apk程序。
wget http://ip地址/blogger.apk
1.4.2 AndroidX86
AndroidX86是另外一个可以在PC上安装的Android系统,不同的是该系统不仅可以从光盘启动,还可以直接安装在硬盘上,并从硬盘启动。因此,AndroidX86是一个真正的操作系统。读者可以从如下地址下载AndroidX86的最新版:
http://www.androidx86.org
AndroidX86的使用方法与Android LiveCD类似。图1.20是AndroidX86的安装界面。图1.21是AndroidX86的运行界面。
图1.20 AndroidX86的安装界面
图1.21 AndroidX86的运行界面
1.5 Android的学习资源
获得第一手的资源是学习Android的关键。通过如下两上地址可以访问Android的官方页面,在该页面有最新的开发指南、API、SDK和其他资源。
地址1
http://developer.android.com
地址2
http://android appdocs.appspot.com
除此之外,通过Google搜索也可以找到大量关于Android的学习资源,下面推荐几个国内比较受关注的Android学习网站。
l EOE Android开发论坛,http://www.eoeandroid.com。
l 安卓网,http://www.hiapk.com。
l 机锋网,http://www.androidin.net。
l 中国移动的开发者社区,http://dev.chinamobile.com。
l Google的源代码托管网站,http://code.google.com。在该网站上有大量基于Android的应用程序源代码。直接通过源代码学习将会获得更佳的效果。
上一页 首页 下一页
发表评论 更多评论
图书导读
当前章节:1.5 Android的学习资源
·1.2 Android开发环境的搭建
·1.3 Android SDK中的常用命令行工具
·1.4 PC上的Android
·1.6 应用程序商店
·1.7 本章小结
·8.1 Service起步
1.6 应用程序商店
写程序不是目的,写完程序我们能从中得到什么才是最终目的。当然,最直接得到的就是经验。可除此之外呢?相信大多数开发人员都希望从自己的程序中获利。当然,最好是名利双收。如果正在阅读本书的读者是这么想的,本节介绍的应用程序商店也许正好适合这些读者的口味。
1.6.1 Android Market
这是世界上第一个卖Android应用程序的在线商店。该在线商店由Google创办,地址如下:
http://www.android.com/market
在Android手机上可以通过Android Market客户端浏览和下载商店中的应用程序(在Android Market中有免费和收费两类程序)。客户端的主界面如图1.22所示。浏览和下载游戏程序的界面如图1.23所示。
图1.22 Android Market客户端的主界面(HTC Hero)
图1.23 浏览和下载游戏程序的界面(HTC Hero)
1.6.2 Mobile Market(MM)
MM是中国移动发起并创办的应用程序商店。该商店主要面向国内用户,更适合中国人的口味。主页的地址如下:
http://www.mmarket.com
MM与Android Market的区别是MM不仅卖基于Android/OMS的应用程序(OMS是中国移动在Android的基础上定制的手机操作系统),还可以卖基于 Symbian、Windows Mobile、Java ME等手机平台的程序。也就是说,MM是一个通用的应用程序商店。
MM被集成在OMS系统中,所有的OPhone手机(安装OMS的手机)都包含一个MM客户端,主界面如图 1.24所示。虽然目前在MM上还没有出现像在苹果的App Store上一样的创富神话,但随着Android/OPhone的手机用户不断增加。在MM上的应用程序会有一个很可观的收益(当然,条件是自己的应用程序做得足够吸引人)。
图1.24 MM客户端主界面
1.6.3 其他应用程序商店
除了Android Market和MM外,国内还涌现出了很多Android应用程序商店,下面举几个比较著名的应用程序商店。
l EOE Market,http://www.eoemarket.com。
l 安卓Market,http://www.hiapk.com/bbs/devcenter.php。
l Moto Market,http://developer.motorola.com。
虽然上面的Market目前都是免费上传和下载应用程序,也未实现什么赢利,但从长远来看,也会为推动Android起到一定作用。
1.7 本章小结
本章主要介绍Android开发环境的搭建。开发Android程序至少需要安装JDK、Eclipse、 Android SDK和ADT。在<Android SDK安装目录>\tools目录中有一些命令行工具,可以通过这些工具完全脱离ADT和Eclipse来完成开发工作。虽然作者并不建议这样做,但学习一些常用命令的使用方法会对开发工作起到一定的辅助作用。Android不仅可以运行在手机上,从理论上说,Android可以运行在所有的移动平台和基于X86框架的PC上。本章介绍了两种运行在PC上的Android系统:Android LiveCD和AndroidX86,通过这两种系统可以在没有真机的情况下在实际的Android系统中测试程序。做完程序后,需要将其发布到访问量较大的网站供用户免费或付费下载。而Android Market和Mobile Market是目前国内开发者的两个最好选择。当然,其他的Market也会为我们提供更多的选择。[/size][/color]