硅谷网9月27日评论 据《电脑知识与技术》杂志刊文,随着安卓智能平台的逐步完善,安卓已经成为目前最主流的智能平台。本文描述了安卓的系统构架和环境的搭建,通过使用安卓平台推出的SDK进行计算器的开发,在模拟器上仿真实现了数字的加减乘除等功能,最后分析了安卓应用开发的优缺点。
0引言
2007年11月,google推出了一种由操作系统、中间件、用户友好界面好应用软件组成的智能手机平台安卓。安卓推出以来就广受关注,且安卓延续着Linux的开放精神,开放了源代码,这就意味着所有的程序开发人员都可以通过安卓开发平台开发出自己的应用程序。据IDC公布的统计数据显示,在2012年第四季度,安卓智能手机的出货量为1.598亿台,市场占有率为70.1%,位居第一,相比去年同期涨幅达88%。【1】2013年3月份,安卓系统在中国市场占有率更是突破8成,达到86%。
1安卓系统架构
安卓系统架构采用了软件堆栈的架构,共分为4层,分别是Linux内核、中间件层、应用程序框架层、以及应用程序层[2]。第一层是Linux内核,提供由操作系统内核管理的底层基础功能;第二层是中间件层,由函数库和安卓运行时构成,安卓函数库和运行时环境包含了一组核心库,提供了java语言核心库内的大部分功能和Dalvik虚拟机;第三层是安卓应用程序框架层,提供了安卓平台基本的管理好组件重用机制,包括Activity管理、窗体管理、包管理、电话管理、资源管理、位置管理、通知消息管理、VIew系统和内容提供者等。第四层是应用程序层,提供了一系列核心应用程序。
图1安卓平台的架构
2开发环境的搭建
安卓的应用开发通常要用到Google提供的AndroidSDK中的工具集。它包括编译器、资源管理器、调试器和模拟器,并使用Eclipse加上安卓DeveloperTools插件作为集成开发环境。搭建安卓开发环境过程如下:
1)准备好安装文件,下载JavaJDK、Eclipse、安卓SDK。
2)安装JavaJDK,安装完成后配置Java环境,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量即可,需要说明的是设置环境变量对搭建安卓开发环境不是必须的,可以跳过。安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java-version查看JDK的版本信息;
3)解压AndroidSDK,运行解压包里的SDKSetup.exe,点击AvailablePackages。如果没有出现可安装的包,请点击Settings,选择希望安装的SDK及其文档或者其它包,点击InstallationSelected、AcceptAll、InstallAccepted,开始下载安装所选包。在用户变量中新建PATH值为AndroidSDK中的tools绝对路径。点击“确定”后,重新启动计算机。重启后,进入cmd命令窗口,运行android-h检查SDK是不是安装成功。
4)解压Eclipse,Eclipse无需安装,解压后,直接打开就可运行;然后为Eclipse安装ADT插件,打开Eclipse,在菜单栏上选择help->InstallNewSoftware,点击Add按钮,在Location输入https://dl-ssl.google.com/android/eclipse,进入下一步,同意安装条款即可在线安装ADT。
5)配置安卓SDK,点击菜单诵window->preference,点击Browse选择刚才安卓SDK的解压目录,点击Apply、OK。配置完成。
通过以上5步,开发环境就配置完成了。也就可以在此基础上开发安卓应用程序了。
需要说明的是,容易出现ADT和SDK不匹配的情况,因为我们打开SDK时,默认是要更新的,而SDK和ADT并不会同时更新,所以,要尤其注意。我们可以把升级后的SDK包压缩好,打包发给学生,只需要在电脑里解压到任意位置,再在Eclipse中配置SDK的路径就可以了。
3设计与实现
输入模块主要的任务是描述计算器键盘以及实现键盘的监听,即当用户点击按键或者屏幕的时候监听器会去调用相应的处理办法。
显示模块主要要完成的任务是描述计算器的显示区,该区域用于显示用户的计算结果可以通过editText.setText()方法来实现。
计算模块是本次系统设计中的重点,主要是在src文件夹下的源代码中添加运算过程,这其中要通过findViewById方法找到界面中的各个控件。比如找按钮的代码如下:Buttonbutton=(Button)findViewById(R.id.button1);为button控件增加一个事件侦听器,button.setOnClickListener(newView.OnClickListener(){@Override...});要注意数据类型的一致性,比如用Integer.parseInt(editText1.getText().toString())将字符串类型转化为整型,用Double.parseDouble(s)将字符串转化为小数等。
系统要能在屏幕上显示出计算器的样子,就要有整体的布局,使用户能够看到整个计算器的画面。同时系统想完成计算功能必须要处理用户的输入,当输入模块的监听传到计算模块中时,计算模块就要根据相应的方法进行进一步的处理。这部分主要是对输入进行的逻辑判断,基本会通ifelse或者switchcase来实现逻辑判断。
4安卓开发的优点和缺点
安卓系统能快速的发展,当然有其自身的一些优点。
1)编程语言,安卓应用是用java语言编写的,而java程序员的数量很多,学习曲线也就比较小,网络上有很多安卓的开源项目供我们学习使用。
2)安卓系统是开源的,衍生版本很多,比如MIUI、OPHONE等,我国手机厂商的系统大都是基于安卓的衍生版,这样开发出来的安卓应用程序开源不加修改的在这些众多的衍生版系统中运行。
3)开发环境和测试工具安卓开发过程利用了极好的JDT工具。每一个Eclipse软件都使用了JDT工具,这些工具非常好。有关Java的一切都提供了索引,集成开发环境有丰富的源代码模型,而且源码处理非常匹配。
任何新生事物都不是完美无瑕的,安卓也有一些缺点。
1)安卓的版本太杂,对旧版本维护不够。
2)安全问题,由于安卓的开源和快速发展以及审核机制的不完善导致一些安卓恶意软件的出现,用户的隐私不能得到充分的保障,在不经意间就可能泄露自己的隐私。
3)硬件配置要求比较高,为了提高程序下次启动时的速度,安卓不会将用户退出的程序完全关闭,而是将这些程序存入内存中压缩并缓存,这就占用了大量的内存空间。
5总结
安卓手机应用程序开发是一项复杂的工程。本文探讨了安卓的系统架构,EclipseIDE开发环境的搭建,以及安卓应用开发的优缺点。并使用Java语言,设计和开发了基于Eclipse平台的计算器。验证了该平台良好的实用性,也为广大的安卓爱好者提供一个参考。
作者简介:黄宗正(1984-),男,河南信阳人,贵州工业职业技术学院助理实验师,主要研究方向:移动开发,计算机网络。
|