手机安卓3.1

安卓3.1  时间:2021-04-03  阅读:()

第1章初识Android如今的Android毫不夸张地说已经红透了半边天.
越来越多的Android用户使得Android的市场需求与日俱增:用户们希望得到更强大的功能、更丰富的应用、更个性化的手机,这无疑是Android手机开发者的福音!
它是一个稳定、安全而又开放的平台,同时也是一个充满了机遇和挑战的舞台.
本章我们将了解到:(1)什么是Android.
(2)Android的历史以及其发展趋势.
(3)为什么Android能这么火.
1.
1手机发展简史现在人们的生活已经越来越无法离开手机.
设想一下,你无论是在上课、上班或者逛街,你的身边是不是一定有一部手机在陪伴着你当你无聊的时候你会拿出手机玩游戏,又或者找好友聊天,甚至你可以随时上网听音乐看电影!
是啊,现在的手机功能如此强大,可是手机从一开始就有这些功能吗1.
1.
1手机发展的里程碑让我们重新回顾手机的发展历程,这里仅以那些重要的里程碑式的事件作为线索,带领读者朋友们回到那些激动人心的年代:1.
1875年6月2日:第一部电话诞生1875年6月2日,经过了一段时间的研究和努力,贝尔和沃森终于完成了他们的电话模型.
贝尔在一间房子里做最后的准备,而沃森则在另一间屋子里关着门窗,耳朵紧贴音箱准备接听.
这时,贝尔不小心将硫酸洒到了大腿上,疼得他大叫:"沃森,快来帮我!
".
没想到,这句话从电话的这一头传到了那一头,被沃森清楚地听到了.
所以,这句话也被作为电话史上的第一句话流传至今.

2.
1831年8月:发现电磁感应1831年8月,英国的法拉第发现了电磁感应现象,麦克斯韦进一步用数学公式阐述了法拉第等人的研究成果,并把电磁感应理论推广到了空间.
而60多年后,赫兹在实验中证实了电磁波的存在.
电磁波的发现,成为"有线电通信"向"无线电通信"的转折点,也成为整个移动通信的发源点.
正如一位科学家说的那样"手机是踩着电报和电话等的肩膀降生的,没有前人的努力,无线通信无从谈起.
"3.
1973年4月:出现第一部移动电话1973年4月,一名男子站在纽约的街头,掏出一个约有两块砖头大的无线电话,并开始通话,惹得周围人们纷纷关注.
这个人就是手机的发明者——马丁·库泊,当时他还是摩托罗拉公司的工程技术人员,而这个无线电话也是世界上第一部移动电话.

4.
1983年:第一部真正意义上的手机上市1983年,摩托罗拉正式推出了DynaTAC8000X,这也是世界上第一台真正意义上的手机.
刚上市时,它重达2.
5磅,也就是1.
2千克左右,别看它"个头"这么大,真正能支持的通话时间却只有半个小时.
那时的它还是名副其实的"大哥大",零售价高达3995美元,在中国黑市被炒到了5万元左右.

5.
1993年9月18日:中国建成第一个GSM网络1993年9月18日,在浙江嘉兴建成了第一个GSM网络.
中国移动通讯市场开始了超常规、成倍数、跳跃式的发展,从此移动通讯进入了数字时代.
1994年10月,广东数万用户成为第一批GSM的使用者,从此正式拉开了中国移动通讯市场高达3.
6亿用户的序幕.

6.
2007年11月5日:Google公司发布Android2007年11月5日,Google公司发布了基于Linux平台的开源手机操作系统——Android.
开放手机联盟正式成立,从此掀开了智能手机应用的开发热潮!
现在,越来越多的人正享受着智能手机为我们带来的便利和乐趣.

1.
1.
2Android的各个版本Android一词的本义为"机器人",同时也是Google公司于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件.
图1.
1为Android的Logo.

到现在为止,Android已经发布了最新的4.
0版本,那么历史上Android一共有哪些版本呢作为手机开发人员的你,必定对此有一些了解.
现在,让我们重新整理并回顾那些曾经或正在辉煌着的"版本"们,如表1-1所示.

表1-1Android各个版本版本号代号发布时间Android1.
12008年9月Android1.
5Cupcake纸杯蛋糕2009年4月Android1.
6Donut甜甜圈2009年9月Android2.
0clair松饼2009年10月26日Android2.
1clair松饼2009年10月26日Android2.
2Froyo冻酸奶2010年5月20日Android2.
3Gingerbread姜饼2010年12月7日Android3.
0Honeycomb蜂巢2011年2月3日Android3.
2Honeycomb蜂巢2011年7月13日Android4.
0IceCreamSandwich冰激凌三明治2011年10月19日表1-1中列出的仅仅是一些比较重要的版本,诸如Android2.
1—update、Android3.
1等一些比较小的更新版本这里就不再罗列.
也许读者朋友们会觉得比较奇怪,为什么Android手机版本名称都如此奇怪,实际上如果你仔细观察不难发现:(1)Android所有的版本都是以甜点来命名的.
(2)Android的所有版本的首字母是从A~Z排列的.
在笔者成书时,市场最为流行版本是2.
2,本书使用的版本也是Froyo.
目前Android最高版本是4.
0,图1.
2为Android4.
0冰激凌三明治的Logo.
图1.
2Android4.
0的Logo1.
2开放手机联盟开放手机联盟的英文全称是OpenHandsetAlliance,Android可以说就是开放手机联盟的成果.
它由Google公司领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商,以及市场营销公司.
1.
2.
1开放手机联盟的目的开放手机联盟(OpenHandsetAlliance)是美国Google公司于2007年11月5日宣布组建的一个全球性的联盟组织.
他们的目标是开发多种技术,大幅削减移动设备和服务的开发和推广成本,从而构建更好的移动电话.

该联盟的创始成员包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等在内的34家行业领头羊.
而后不久,华硕电脑、Sharp、华为、海尔、联想、索尼爱立信、爱立信、东芝、中国联通、中国电信、中兴通信等29家公司也加入了开放手机联盟,这些公司已经涵盖了全球整个手机产业链.

或许细心的你会发现,手机行业的巨头Nokia并没有出现在联盟中,这是因为诺基亚公司一直支持的是其子公司的Symbian系统,并且在所有的智能机中都预装了该系统.
显然,这和开放手机联盟的初衷背道而驰.

1.
2.
2分工合作从宏观上,一部手机的成型大致可以分为两个步骤:(1)手机制造;(2)软件开发.
1.
手机制造超过一半的开放手机联盟成员是手机制造商,如三星、HTC、LG以及最近开始涉足手机制造业的华为等.
当然制造商中还包括了很多卓越的半导体制造商,如英特尔、高通以及德州仪器等.
这些公司通力合作一起设计完成了第一部Android手机——T-MobileG1.
该手机由宏达电子(HTC)设计开发,并由T-Mobile提供配套服务,于2008年9月23日在美国正式上市.
2.
软件开发软件开发正是本书讨论的重点,在本书中我们将学习如何使用AndroidSDK开发运行在Android手机上的应用程序.
我们的最终目标是能够自己开发出任何你希望获得的功能,当然这也许需要一些硬件支持.
就目前来看,你可以到AndroidMarket中下载你需要的程序.
如果你对AndroidMarket还不是很了解,没有关系,下一节中我们将为你介绍.
现在的AndroidMarket中已经包含了上万种应用,不管是实用工具、教育、影音还是游戏社交,包罗万象、应有尽有.
1.
3Android中的个人英雄主义Android是一个完全整合的移动软件系统,包括操作系统、中间件、便于用户使用的界面以及各类应用.
为了鼓励开发人员参与到Android中,Google举办了两届开发者挑战赛,每次大赛的总奖金都达到了1000万美元.

1.
3.
1第一届挑战赛冠军介绍第一届开发者大赛收到了1788件参赛作品,其中包括了各个方面:游戏、LBS(LocationBasedService,定位服务软件)、各类使用工具以及软件交友平台等.
想要成功创作出一个好的作品也许可以从以下几点考虑:巧思实用完善美观巧思就是创意,一个创意能得到什么我们无法估量,在软件开发中,一个创意也许是一个成功案例的开始,而一个完美的案例也许又会给你带来一个机遇,一个机遇或许就改变了你的现状,改变了你的人生.
作为一个程序员千万不要被条条框框束缚了自己的思想,学会发散性思维也许就是你的第一课.

实用是指你的软件到底能为用户做些什么是否能够切实为用户带来便利和享受学会多从用户的角度出发看待问题,不要只从简单的开发来考量.
举一个最简单的例子:在Android开发中有两种组件,一个是编辑框,另一个是单选框,这两种组件在第5章中都会有详细的讲解,这里读者只要知道它们就可以了.
编辑框顾名思义就是一个可以用来输入信息的窗口,单选框则是提供多个选项但只能选择其中之一的一类组件.
当你希望用户输入性别时你可以选择提供一个编辑框让用户输入,也可以提供一个单选框,在其中设置"男"和"女"两个选项.
从开发的角度来说肯定是第二种方案较第一种麻烦,但从用户的角度来说,必定是第二种方法更实用、更贴心.
所以毋庸置疑,如果你希望你的软件更实用的话,乖乖地选择第二种吧!

完善则是指你的软件是不是仅仅只是实现基本功能是不是还有更多的附加功能可以添加.
再举个简单的例子:一个软件提供了列车的查询功能,要实现它肯定非常简单,只需到网上找到一个信息提供商,然后获取信息并列表显示就可以了.
可是仅仅如此么这一大堆的数据列在用户的面前是不是让用户觉得老虎咬刺猬——无从下口呢为了让用户使用更方便,我们可以提供按照日期查询、按照班次查询、按发站/到站时间查询、按车辆类型查询等种种功能.
这样查询列车的功能就比较完善了,用户使用起来会更方便、更贴心.

美观同样是评定一个软件优秀与否的重要标准,在这个追求个性的年代,绚丽的界面和强大的功能一样重要.
一个好的界面会起到"先声夺人"的作用.
设想一下,同样的功能,不同的界面,用户肯定会选择看起来更舒服的那一款.

以下是第一届Android开发挑战赛的冠军——GoCart,希望读者朋友们可以从该作品中得到启发.
GoCart是一款掌上移动购物的应用程序,它大致上分为4种功能:(1)获得商品信息.
该功能的实现需要使用到Android手机的摄像头,通过摄像头扫描商品的条形码可以获得其具体信息.
(2)扫描成功后,GoCart将会使用Android的网络功能,在网上商店查找这个商品的价格,从而进行网上购物.
(3)如果你不相信网上购物,你也可以使用GoCart的GPS功能,查询你现在所在的位置,然后确定你附近有哪些商店有该类产品,如果信息充分,甚至可以查询商店的库存,以确定是否有必要前往该商店.

(4)如果你还是不满意,没有关系,你可以在GoCart中设定一个期望价格区间,这样一旦网上有符合你条件的商品信息出现,GoCart会第一时间提醒你.
以下是GoCart的使用截图,如图1.
3所示.
图1.
3GoCart使用截图1.
3.
2第二届挑战赛冠军介绍继第一届Android开发者挑战赛成功举办后,Google又举办了第二届挑战赛,获得本次比赛冠军的是一款叫做SweetDreams(甜梦)的软件.
该应用的主要功能是:(1)在自己入睡之后,自动将某些人的来电转为语音邮件,从而避免了不必要的骚扰.
(2)该应用同样可以设置手机的蓝牙、屏幕、WIFI等设备的开关,从而帮助手机节省电能.
以下是甜梦的使用界面截图,如图1.
4所示,不得不说,它的界面的确简洁美观,功能也非常强大,当然最重要的还是它的创意.
图1.
4"甜梦"使用截图1.
3.
3AndroidMarket手机市场长期以来存在着若干问题,如:同类竞争软件的数量限制价格限制盈利模式限制客户群大小的限制以上的4个问题只是在Android出现之前在手机开发市场上比较常见的一些问题,还有更多的问题这里并没有列举.
可是这些长期存在的问题就没有一个好的办法解决吗答案当然是否定的.
AndroidMarket是Google开发的一款移动应用商店,在该商店中你可以自由地发布任何一款软件而无需验证.
不管是免费软件还是收费软件、共享软件还是测试软件,只要它可以成功运行,你都可以将它无障碍地发布到AndroidMarket中.
这就巧妙地解决了上述的难题,如第4点——客户群大小的限制.
以往的手机市场中,运营商期待赚取大额利润所以往往拒绝为小客户群体开发软件.
现在有了Android市场,这一切都发生了改变.
这就像是一条广告语:只有想不到,没有做不到.
事实上,在AndroidMarket中已经有上万种软件可供选择,每时每刻都会有新的软件被提交给用户使用.
图1.
5是AndroidMarket的Logo.
1.
4Android平台从宏观上说Android是一个完整、开放而又免费的移动平台.
它完整是因为设计人员在开发之初就综合考虑了方方面面:从一个安全的操作系统出发,构建一个完整的应用程序框架,从而开发出各类健壮的应用程序;它开放是因为Android公布了它的所有源代码,这样开发人员就可以很方便地访问手机的各类设备;它免费是指在该平台上开发软件,无论是开发工具还是签名认证都是免费的,你无需担心任何版权支出.
从狭义上,Android是一个操作系统,构建于Linux操作系统的基础上,安全、可靠而又高效.

1.
4.
1Android体系结构Android系统自上而下共有4层:应用层——Applications应用框架层——ApplicationFramework核心库和运行时环境层——Libraries和AndroidRuntime操作系统层——LinuxKernel图1.
6形象地说明了Android的体系结构,接下来我们就围绕这张图对Android系统进行较为深入的讲解.
图1.
6Android系统结构图1.
应用层在应用层中我们可以使用Java语言进行各种应用程序的开发.
包括桌面、联系人、电话、浏览器、电子邮件客户端、SMS程序、日历、地图等各种功能.
该层也是本书重点讨论的一层.
2.
应用框架层该层为系统提供了各种各样的API,它包括:(1)ActivityManager:活动管理器,一个应用程序由至少一个活动(Activity)构成,活动管理器负责管理Activity的生命周期,并为程序提供退出机制.
(2)WindowManager:窗口管理器,管理所有的窗口程序.
(3)ContentProviders:内容提供者,负责共享程序的数据,该机制解决了各个应用程序的数据私有和共享的问题.
在本书第9章会有详细讲解.
(4)ViewSystem:视图系统,可以用来构建应用程序,它包括各种可重用的组件:列表、网格、文本框、按钮等等.
(5)NotificationManager:消息管理器,它可以帮助开发者在状态栏中显示自定义的提示信息.
(6)PackageManager:包管理器,它可以帮助开发人员管理所有的包.
(7)TelephonyManager:电话管理器,管理Android手机中所有的电话接入和拨出等操作.
(8)ResourceManager:资源管理器,提供非代码资源的访问,如本地字符串、图形和布局文件.
(9)LocationManager:位置管理器,使用它可以开发LBS(LocationBasedService)程序.
(10)XMPPService:可扩展通讯和表示协议服务(XMPPTheExtensibleMessagingandPresenceProtocol),XMPP是一种基于XML的协议,具有超强的可扩展性.
经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求.
3.
各种库和运行时环境层Android应用框架需要系统底层的一些C/C++库的支持.
这些库包括:(1)Bionic系统C库:C语言标准库,系统最底层的的库,C库通过Linux系统来调用.
(2)多媒体库:Android系统多媒体库,基于PackerVideoOpenCORE,支持各类音频格式的录制和播放,包括:MPEG4、MP3、AAC、AMR等;支持各类视频格式的录制和播放:包括3GP、MP4等;支持各类图片格式的处理,包括:JPG、PNG等.

(3)SGL:2D图形引擎库.
(4)SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持.
(5)OpenGLES1.
0:支持3D效果.
(6)SQLite:关系数据库,提供数据存储服务.
(7)Webkit:Web浏览器引擎.
(8)FreeType:提供位图和矢量的支持.
在Android操作系统中,每个Java程序都运行在一个独立的Dalvik虚拟机上.
Dalvik被设计为一个设备,可同时高效地运行多个虚拟系统.
每一个Android应用都运行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间.
它只能执行.
dex的可执行文件,也就是说当Java程序通过编译后,生成.
class文件,最后还需要通过SDK中的dx工具转为成.
dex格式才能正常地在虚拟机上执行.

4.
操作系统层(1)显示驱动(DisplayDriver):基于Linux的帧缓冲(FrameBuffer)驱动.
(2)键盘驱动(KeyBoardDriver):作为输入设备的键盘驱动.
(3)USB驱动(USBDriver):为设备提供USB驱动.
(4)Flash内存驱动(FlashMemoryDriver):闪存驱动程序.
(5)照相机驱动(CameraDriver):常用的基于Linux的v412(VideoforLinux)的驱动.
(6)音频驱动(AudioDriver):常用的基于ALSA的高级Linux声音体系驱动.
(7)蓝牙驱动(BluetoothDriver):基于IEEE802.
15.
1标准的无线传输技术.
(8)WiFi驱动:基于IEEE802.
11标准的驱动程序.
(9)BinderIPC驱动:Android的一个特殊的驱动程序,提供进程间通信的功能.
(10)PowerManagement(电源管理):管理电池电量.
1.
4.
2熟悉的开发工具大致了解了Android系统的体系结构以后,接下来需要为我们的应用开发做准备了:首先我们需要一个称手的开发工具.
Google官方推荐我们使用Eclipse作为IDE来辅助开发.
为什么这么多的IDE中我们选择了Eclipse呢首先,Eclipse是完全免费的;其次,Eclipse是目前最流行的Java开发IDE,它可以装插件,无限地增强功能;最后,Google已经为Eclipse开发了一款ADT(AndroidDevelopTools).
使用Eclipse+ADT可以很方便地创建和编译Android工程,从而避免了复杂的命令行模式.
本书第2章中我们会详细讨论WindowsXP+Eclipse+ADT的开发环境的配置.
图1.
7和图1.
8分别是Eclipse启动和运行时的截图.
图1.
7Eclipse启动图1.
8Eclispe运行时1.
4.
3合理的学习曲线在1.
4.
2节我们初步认识了以后我们要使用的开发工具,可是"工具"再好,那也仅仅是个工具,最重要的还是我们的"内功".
本小节就讨论应该怎样修炼好Android开发的"内功".
怎样学习Android才能更快速地上手呢当然,在快速上手的同时还需兼顾内容的完整性以及一定的深入性.
为此,本节特别制定了一条合理的学习曲线,如图1.
9所示.

图1.
9合理的Android学习曲线由于本书侧重讲解Android的应用开发,所以对Java以及Android游戏等方面的知识讲解较少.
在Android应用开发中,各个知识点的粗略介绍如表1-2所示.
表1-2Android应用开发中知识点的介绍知识点介绍Android基础入门搭建Android开发环境并创建第一个Android程序——HelloWorldAndroid界面布局使用界面的各种布局类,如LinearLayout、FrameLayout、TableLayout、AbsoluteLayout、RelactiveLayout以及各种View的子类,如TextView、EditText、Button等Android基本组件使用Activity、Intent、BroadcastReceiver、ContentProvider等Android数据存储使用Android中的数据存储,包括SharedPreferences以及SQLite3数据库以及文件存储等Android多媒体使用多媒体框架进行拍照、音频的录制和播放、视频的录制和播放等Android网络开发使用网络接口HttpUrlConnection、HttpClient等Android中的LBS开发使用Google地图开发接口实现地图展示、定位、查询等功能Android多线程使用多线程机制,熟悉Android平台的消息处理机制,掌握在非主线程中更新界面Android应用综合应用以上知识点开发出使用的应用程序1.
5小结Android作为新一代的移动开发平台,是手机行业发展的必然.
它的出现打破了传统的移动开发格局,让我们开发人员可以轻松地投入到Android开发潮流中来.
本章首先回顾了手机发展的里程碑,接着讲解了开放手机联盟的成立,然后重点讲解了Android平台的特点以及Android学习曲线.
在下一章,我们将认识并使用Android开发的"四大法宝",通过它们进行Android开发环境的配置.

选择Vultr VPS主机不支持支付宝付款的解决方案

在刚才更新Vultr 新年福利文章的时候突然想到前几天有网友问到自己有在Vultr 注册账户的时候无法用支付宝付款的问题,当时有帮助他给予解决,这里正好顺带一并介绍整理出来。毕竟对于来说,虽然使用的服务器不多,但是至少是见过世面的,大大小小商家的一些特性特征还是比较清楚的。在这篇文章中,和大家分享如果我们有在Vultr新注册账户或者充值购买云服务器的时候,不支持支付宝付款的原因。毕竟我们是知道的,...

HostKvm香港VPS七折:$5.95/月KVM-2GB内存/40GB硬盘/500GB月流量

HostKvm是一家成立于2013年的国外主机服务商,主要提供VPS主机,基于KVM架构,可选数据中心包括日本、新加坡、韩国、美国、俄罗斯、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。商家本月针对香港国际机房提供特别7折优惠码,其他机房全场8折,优惠后2G内存香港VPS每月5.95美元起,支持使用PayPal或者支付宝付款。下面以香港国际(HKGlobal)为...

百驰云(19/月),高性能服务器,香港三网CN2 2核2G 10M 国内、香港、美国、日本、VPS、物理机、站群全站7.5折,无理由退换,IP免费换!

百驰云成立于2017年,是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。百驰云提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端...

安卓3.1为你推荐
存储备份存储备份软件哪个好?求推荐空间邮箱哪种邮箱的空间最大怎么查询商标想要知道一个商标是否被注册,在哪里查到的比较权威?www.522av.com跪求 我的三个母亲高清在线观看地址 我的三个母亲高清QVOD下载播放地址 我的三个母亲高清迅雷高速下载地址javmoo.comjavbus上不去.怎么办www.se333se.com米奇网www.qvod333.com 看电影的效果好不?lcoc.toptop weenie 是什么?www.15job.com广州天河区的南方人才市场www.97yes.comwww.moyigui88.com是不是一个好网站呢dpscycle魔兽世界国服,求几个暗影MS的输出宏
到期域名查询 域名服务器上存放着internet主机的 淘宝二级域名 希网动态域名 raksmart omnis 日志分析软件 国外空间 京东商城双十一活动 蜗牛魔方 php空间申请 双拼域名 国外代理服务器地址 服务器是干什么用的 便宜空间 云营销系统 电信宽带测速软件 google搜索打不开 神棍节 neicun 更多