基于android系统的midi音乐播放器的设计与实现毕业论文(编辑修改稿)内容摘要:

供数百万美金的奖励。 G1 问世几个月之后,随后就发布了 Android Market,它使用户可以浏览应用程 序,并且可以将应用程序直接下载到他们的手机上。 经过大约 18 个月,一个新的移动平台进入公众领域。 Android 操作系统是 Google 最具杀伤力的武器之一。 苹果以其天才的创新,使得iPhone 在全球迅速拥有了数百万重视“粉丝”, 而 Android 作为第一个完整、开放、免费的手机平台 ,使开发者在为其开发程序时拥有更大的自由。 与 Windows Mobile、Symbian 等厂商不同的是, Android 操作 系统免费 向 开发人员提供,这样可节省近三成成本 ,得到了众多厂商与开发者的拥护。 Android 系统具有如下 5 个 特点:  开放性。 Google 与 开放手机联盟合作开发了 Android, Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建内蒙古科技大学毕业设计说明书(毕业论文) 4 立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。  应用程序无极限。 Android 上的应用程序可以通过标准 API 访问核心移动设备功能。 通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。  应用程序是在平等的条件下创建的。 移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。  应用程序可以轻松地嵌 入网络。 应用程序可以轻松地嵌入 HTML、 JavaScript和样式表,还可以通过 Web View 显示网络内容。  应用程序可以并行运行。 Android 是一种完整的多任务环境,应用程序可以在其中并行运行。 在后台运行时,应用程序可以生成通知以引起注意。 随着 Android 平台的扩张,引发了 Android 人才荒, 20xx 年移动开发人才需求 20 万,未来人才需求缺口将达百万。 3G 人才全球紧缺,实用人才培养已迫在眉睫。 在国内三大运营商如火如荼的 3G 营销战持续升温,再加上 3G 的推出对整个行业的巨大推动作用,无疑将引爆 3G手 机开发工程师这个黄金职位。 但符合条件的 Android 工程师屈指可数,在未来几年内, Android 开发工程师将成为 3G 行业炙手可热的岗位之一。 Android 开发技术简介 Android 支持使用 Java 作为编程语言来开发应用程序,而 Android 的 Java 开发方面从接口到功能,都有层出不穷的变化。 考虑到 Java 虚拟机的效率和资源占用, Google重新设计了 Android 的 Java, 以便能提高效率和减少资源占用,因而与 J2ME 等不同。 本设计也是使用 Java 语言设计与实现的。 Android 程 序框架 介绍 本节将 介绍一下开发 Android 项目的项目目录结构,如图 所示 ,这是 MIDI 音乐播放器的项目目录结构。 与一般的 Java 项目一样, src 文件夹是项目的所有包及源文件( .java), res 文件夹中则包含了项目中所有的资源,比如:程序图标( drawable)、布局文件( layout)、常量( values)等。 内蒙古科技大学毕业设计说明书(毕业论文) 5  是在建立项目时自动生成的,这个文件是只读模式,不能更改, 是定义该项目所有资源的索引文件。  文件则包含了该项目中所用的 Activity、 Service 等组件,它是一个功能清单文件。 图 音乐播放器目录结构 用户界面 介绍 Android 平台提供的控件是非常完美的,控件的使用与网页的设计类似。 Android 的界面需要写在“ res/layout”下面的布局文件,一般情况下,一个布局文件对应一个界面。 设计 Android 的界面有点像写 HTML 代码,要先给 Android 定框架,然后再往里面添加控件。 Android 生成屏幕有三种方式: xml 配置生成;通过用户界面接口生成;直接用代码生成。 在一个 Android 应用中,用户 界面是由 View 和 ViewGroup 对象构建的。 View和 ViewGroup 都有很多种类,而它们都是 View的子类。 开发者可以对 View和 ViewGroup进行组合,来完成应用程序界面设计。 内蒙古科技大学毕业设计说明书(毕业论文) 6 1) View 任何一个 View 对象都继承 类。 它是一个存储 屏幕上特定的一个矩形布局和内容属性的数据结构。 作为一个基类, View 类为 Widget 服务, Widget 是一组用于绘制交互屏幕元素的完全实现子类。 Widget 处理自己的测距和绘图,所以可以快速地用它们去构建 UI。 可用到的 Widget 包括 Text、 EditText、 Button、 RadioButton 和Checkbox 等。 2) ViewGroup ViewGroup 是一个 类的对象。 顾名思义, ViewGroup 是一个特殊的 View对象,它的功能是装载和管理一组下层的 View和其他 Viewroup, ViewGroup可以为 UI 增加结构,并且将复杂的屏幕元素构建成一个独立的实体。 作为一个基类,ViewGroup 为 Layout(布局)服务, Layout 则是一组提供屏幕界面通用类型的完全实现子类,一个 Activity 界面可以包含多个 ViewGroup 和 View,,通过这样的组合可以实现更复杂、更完美、更满足开发者需要的界面。 Android 四大组件简介 本节介绍 Android 非常重要的几个组件, Android 有四大组件: Activity、 Service、Broadcast Receiver、 Content Provider。 1) Activity 在 Android 中使用频率最高,实质就是一个可视化界面;一般一个 Android 应用由多个 Activity 组成 ,多个 Activity 组成 Activity 栈( stack),当前活跃的 Activity 在栈顶Activity 上面是一个 Window 对象, Window 之上通常是一个布局容器对象( LinearLayout等),在上面是我们所要展示的各个组件(如按钮、文本框等) Activity 有自己的生命周期, 由 Android 系统来控制新建的 Activity 要在清单文件 中注册。 2) Service Service 顾名思义 服务 ,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而 服务 理机制是系统级别的 ,这个组件是 没有用户界面的。 到目前为止 可以使用 Intent 来启动一个程序组件, 还可 通过使用 startService()方法来发起 启动一个程序中的服务。 同时 在 应用程序中实现 Service 来监听和响应这些服务 的 Intent。 内蒙古科技大学毕业设计说明书(毕业论文) 7 本应用 MIDI 播放器对歌曲的控制全都做在了 Service 里,后续会详细说明。 3) Broadcast Receiver 指广播接收器,广播事件处理机制是系统级别的系统中定义了很多标准的 Broadcast Action 来响应系统广播事件,如: ACTION_BOOT_COMPLETED(系统启动完成后出发) ,ACTION_BATTERY_CHANGED(电量低时出发)也可以自定义 Broadcast Receiver接收广播事件注册广播接收器可以 使用代码注册,也可 在清单文件 中注册。 4) Content Provider 用来保存和检索数据的,并且是应用程序之间相互访问数据成为可能,他是跨应用程序共享数据的唯一方法 Android 为常用的数据类型(如:视频、音频、图片)提供了大量的 Content Provider, 它 们被放在 android. provider 下面 , 使用时要注意权限问题。 Android 数据库 SQLite 介绍 SQLite 第一个 Alpha 版本诞生于 20xx 年 5 月,它是一款轻型数据库,它的设计目的是嵌入式的,而且目前已经在很多嵌入式产品中使用,它占用的资源非常少,在嵌入式设备中,可能只需要几百 KB 的内存就够了。 也许这正是 Android 系统要采用 SQLite数据库的原因之一。 SQLite 数据库是 Hipp 用 C 语言编写的开源嵌入式数据库,支持的数据库大小是 2TB, SQLite 是一个开源的关系数据库,可以存储大量数据,并且可以很容易的进行增删改 查。 SQLite 数据库不 像 其他的数据库(如 Oracle),它没有服务器进程。 所有的内容包含在同一个单 个 文件中。 该文件是跨平台的,可以自由复制。 基于其自身的先天优势,SQLite 在嵌入式领域得到广泛应用。 Android 也没有重复发明 “ 轮子 ” ,而是直接是用了SQLite 数据库。 目前在 Android 系统中集成的是 SQLite3 版本, SQLite 不支持静态数据类型,而是使用列关系。 这意味着它的数据类型不具有表列属性,而具有数据本身的属性。 当某个值插入数据库时 , SQLite 将检查它的类型。 如果该类型与关联 的列不匹配,则 SQLite 会尝试将该 值转换成列类型。 如果不能转换 , 则该值将作为其本身具有的类型存储。 SQLite 支持 NULL、 INTEGER 、 REAL 、 TEXT 和 BLOB 等 数据类型。 内蒙古科技大学毕业设计说明书(毕业论文) 8 Android 提供了创建和 使用 SQLite 数据库的 API。 SQLiteDatabase 代表一个数据库对象,提供了操作数据库的一些方法,另外还有一个 SQLiteOpenHelper 工具类提供了更简洁的功能。 在 Android 的 SDK 目录下有 sqlite3 工具,我们可以利用它创建数据库、创建表和执行一些 SQL 语句。 关于 这个 SQLiteOpenHelper 类在 后续章节中 会详细讲到,它的出现能够更好地管理和维护数据库。 Java 语言 介绍 Java 是一种简单的 、 跨平台的 、 面向对象 的 、 分布式的 、结实的、 健壮的 、 安全的 、结构的 、 中立的 、 可移植的 、 性能很优异的多线程的 、 动态的语言。 当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸引。 它最初被命名为 Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。 由于这些智能化家电的市场需求没有预期 的高, Sun 放弃了该项计划。 就在 Oak 几近失败之时,随着互联网的发展, Sun 看到了 Oak 在计算机网络上的广阔应用前景,于是改造了 Oak, 以 “ Java” 的名称正式发布。 Java 编程语言的风格十分接近 C、 C++语言。 Java 是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心 , Java 舍弃了 C ++语言中容易引起错误的指针(以引用取代)、运算符重载( operator overloading)、 多重继承(以接口取代)等特性,增加了垃圾回收 功能用于回收不再被引用的对象所占据的内存空间,使得程 序员不用再为内存管理而担忧。 在 Java SE 版本中, Java 又引入了泛型编程( Generic Programming)、类型安全的枚举、不定长 度 参数和自动装 /拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。 它首先将源代码编译成二进制字节码 (byte code),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了 “ 一次编译、到处执行 ” 的跨平台特性。 不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java 程序的运行效率。 但在 J2SE 发布后 , Java 的执行速度有了大幅提升。 与传统程序不同 , Sun 公司在推出 Java 之际就将其作为一种开放的技术。 全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。 “Java 语言靠群体的力量而非公司的力量 ”是 Sun 公司的口号之一,并获得了广大软件开发商的内蒙古科技大学毕业设计说明书(毕业论文) 9 认同。 这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Sun 公司对 Java 编程语言的解释是: Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java 平 台是基于 Java 语言的平台。 这样的平台目前非常流行,因此微软公司推出了与之竞争的 .NET 平台以及模仿 Java 的 C语言。 Android Google 选择用 Java 语言作为它十分流行的 Android 移动操作系统的编程语言。 这个选择在整个件研发人员的社区中引起了新的关注。 Android 程序编译过程比普通 Java 程序要多经过一个步骤,将 JVM 二进制码转换成 Dalvik 二进制码。 Google 已经可以利用 Eclipse 为软件研发人员提供一个成熟的编写 A。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。