论文_基于android平台的连连看游戏的实现(编辑修改稿)内容摘要:

/字节码格式Android应用程序是利用Java语言编写成的。 这些文件最后再转化成专为Dalvik(Android平台的Java虚拟机)。 .,好比把一个GIF格式的图像转换成更高级而等效的PNG格式,尽管它们拥有着完全不同的字节流。 (2)Java APIs与Android Runtime相当Android Runtime使用了一个相当大的JavaSE APIs子集。 这些来自于Harmony项目的APIs虽然都是全新的实现,但它们都是参考JavaSE APIS发展而来。 (3)Dalvik与JVM相当经相关人士尝试发现,Android可以支持一个不完整的(但规模相当大的)Java 类库子集。 其大到可以让一个复杂的JRuby项目几乎不用做任何修改便能在Android平台上运行起来。 由此得知,作为Android平台的Java虚拟机Dalvik与纯Java虚拟机JVM是如此的兼容,例如Android能完全支持Java风格的线程和并发。 Java简介Java是一种跨平台的面向对象的高级程序设计语言,最早是由Sun公司 (Sun Microsystems Inc.)于1995年5月推出,并作为Java程序设计语言和Java平台的总称【4】。 按应用领域可将Java平台划分为3种类型:JavaSE,是Java各应用平台的基础,主要由Java语言、JDK、JRE和JVM四大部分构成; JavaEE, 以JavaSE为基础,定义了一系列的协议、服务及API等,适用于开发多层式、分布式、以组件或WEB为基础的应用程序;JavaME,Java平台版本中最小的一个,目的是作为小型数字设备上开发及部署应用程序的一个平台,像手机、PDA、股票机等类似的嵌入式系统或者消费型电子产品。 由于Java拥有着各种丰富资源与各种活跃的论坛,来自各个领域的开发人员及大师们各自都对Java做出了贡献,促使Java在广大开发者的支持下发展至今。 Java语言特性作为一种高级程序开发语言,Java拥有着许多重要的特性,主要表现有下:(1)简单的Java语言在设计时参考了许多C/C++的语法与特性,使得学习过C/C++的开发人员可以在短时间内熟悉Java的使用。 与此同时,Java又舍弃了C/C++ 中的一些较少使用的、难以掌握的、可能不安全的功能,如操作符重载、指针及多重继承等。 (2)面向对象的Java语言是一种纯面向对象高级程序设计语言,它让您可以用面向对象的思考方式来设计并编写程序【5】。 面向对象的好处在于您可以设计可重用的组件或直接接用别人已设计好的组件来开发出更具有弹性并更易维护的软件。 Java语言是通过提供类、接口实现及继承等机制来体现出这种面向对象特色的。 较C++只能对虚函数实现动态绑定,Java则是全面支持动态绑定。 (3)网络的Java本身就是诞生于网络中,从最初的Applet、Socket、JSP/Servlet直到现在热门的Web Service,这都标明Java在网络服务等相关领域有着突出的贡献。 例如在B/S开发方面,Java程序语言就要远远优于C++程序语言。 (4)解释的程序要在一个平台上运行,首先必须得编译成这个平台所能理解的原始机器语言,但事实上不同的平台所能理解的原始机器语言不尽相同。 为了解决这个在不同平台间都能运行的问题,Java引入了JVM(能执行Java字节码文件的虚拟操作系统),当运行Java程序时,JIT(Java实时编译器)就会将字节码编译成目标平台所能理解的原始机器语言。 (5)安全的C++动态分配的内存空间或创造的指针总是必须在不需要的时候由开发人员编写代码予以回收,否则可能会导致程序或系统崩溃。 然而Java提供了垃圾回收机制,让开发人员不再需要担心对象资源的回收问题。 另外,Java还设计了异常处理架构,这使得开发人员可以很好地掌握程序中各种突发的异常情况。 (6)可移植的要让程序移植到另一个平台上运行不是一件容易的事,这需要考虑诸多因素,例如数据类型在不同平台上所占的内存长度就是一个问题,而Java的数据类型在不同平台上所占的内存长度都是统一的,这是C/C++等没达到的。 因而对于“一次编写,到处运行”的这种梦想,Java提供了更高的可能性。 Android技术简介 Android架构简介Android 是一种专门针对移动设备的软件集,其操作系统采用了分层方式,从上到下依次分为APPLICATIONS(应用程序层)、APPLICATION FRAMEWORK(应用程序框架层)、LIBRARIES amp。 ANDROID RUNTIME(函数库和Android运行时)和LINUX KERNEL(Linux内核层)【6】。 : Android系统分层结构示意图(1)APPLICATIONS。 在Android平台上,已存在着一些关键的应用程序,如网页浏览器、邮件、日历、收发客户端程序短信等【7】。 鉴于平台的开放性特点,更多富有特色且功能强大的Android应用程序正在被广大开发者共同努力参与研发中。 (2)APPLICATIONF FRAMEWORK。 应用程序框架已随Android一同安装,但开发人员仍可以根据自己的需要来使用组件扩展该框架。 该框架中,最重要的部分主要包含有:在控制应用程序的生命周期的同时维护着一个公共的后退栈来供用户导航的活动管理器;内容提供者,用来提供一些如联系人信息之类的需要在应用程序之间共享的数据;涉及非代码内容的资源管理器;让Android手机能随时获取目前所处的位置信息的位置管理器;通知用户如收到信息、临近约会时间等事件的通知管理器。 (3)LIBRARIES (C/C ++函数库)。 Android本机库是由一套C/C ++函数库构成的,它们服务于上层Android应用程序组件,并通过这些组件将功能传递给开发者使用【8】。 这些函数库主要包括:浏览器引擎(采用的是Webkit库)、2D和3D图形库、SQL数据库(一些轻量级的SQLite数据库引擎)、媒体功能库以及界面管理器等。 (4)Android Runtime (Android运行时)。 该层主要包含了Dalvik虚拟机和Java核心库,它们起到了将Android程序的运行过程有效优化的作用。 (5)LINUX KERNEL。 Android操作系统是基于优化了的Linux内核之上的,在作为手机软硬件的连接层的同时,也让Android通过它完成进程管理、内存管理、网络以及其他操作系统服务工作。 Android开发技术简介要想快速掌握Android技术,开发出Android应用程序,首先得对其开发技术的基础知识有个大概的了解,而Android程序都是通过各种组件(API)开发出来的,现将其重要组件归纳如下:(1)当前活动程序Activity:这是Android开发中最常使用到的应用程序组件。 凡是要通过窗口与用户进行互动交流的都离不开Activity。 Activity具有生命周期,运行、暂停、停止等几个状态则贯穿于整个生命周期中,这些状态间的转换可通过调用一系列函数来完成,这些函数包括onCreate()、onRestart()、onStart()、onFreeze()、onResume()、onPause()、onDestory()、onStop()等【9】。 如果想要开启一个新的activity,则可以调用startSubActivity(Intent,int)或startActivity(Intent),前者通常和函数onActivityResult(int,int, String,Bundle)联合着一起使用,这样可以通过函数返回结果传递给调用者想要的信息。 (2)图像显示View: ,在块状区域内还可包含对图像事件的处理。 View是所有Widgets的基类,它的子类可以用来显示文本、图像等内容。 通常进行的View方法调用有: 填充View,调用 onDraw (Canvas); 用XML 文件生成View调用inflate();测量View的高度和宽度调用onMeasure (int, int);onLayout()函数可以完成View的布局;当View中有按键操作时调用onKeyDown(int, KeyEvent);当View得到或失去关注时调用函数onFocusChanged (boolean,int);要设置View点击事件监听器调用setOnClilckListener()。 (3)Intent: Intent主要用来解决Android各应用组件之间的通讯。 它对应用中的某种操作进行抽象描述,包括操作的动作、该动作涉及到的数等,Android再根据这种描述寻找相应的组件,并将Intent传递给它,从而完成相关组件的调用【10】。 Intent能加载activity,从而对不同activity起到桥梁的作用。 它除了action、data两大重要属性外,还具有一些如category(类别)、type (数据类型)等附加属性。 常用的Intent方法有:构造intent, intent();添加intent类型,addcategory();获取intent数据,getData(); 获取intent动作getAction()等。 (4)ContentProvider:作为Android的数据存取与共享机制,其为Android应用程序提供了一些访问方法,主要包括:实现数据信息的查询的Query(Uri,String [ ],String,String[ ],String,String,String) ,实现数据更新的update(Uri, Contentvalues,String,String[ ]),给Content provider插入新数据的insert (Uri,Contentvalues),用来删除数据的delete(Uri,String,String[ ]),获取数据类型的函数Get type (Uri)。 其中, ContentProvider存储的数据类型由参数Uri标示,在调用方法时都需根据Uri来标识路径以确定要访问的ContentProvider【11】。 (5) Service: Service作为后台服务,并不直接与用户交互,而是种在后台运行的Android应用程序组件。 当前活动程序可以通过调用函数Context. bindService()实现与后台服务间的通信,也可以调用方法Context. StartService()来开启一项后台服务。 本章小结 本章介绍了开发本系统所需要使用的技术,主要包括Java技术和Andro。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。