始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星。 1. Java的定义
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的Java Developers Kit,简称 JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。 2. Java的特点 (1)平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。 (2)安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。 (3)面向对象
Java 吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java 提供了众多的一般对象的类,通过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形,根类为Object 类,Object 类功能强大,经常会使用到它及其它派生的子类。 (4)分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 (5)键壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了
- 7 -
基于Android平台的手机音乐播放器的设计与实现
覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Byte code校验。
2.3 eclipse简介
Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这类似于微软公司的Visual Studio和Sun 微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse 联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,理解起来比较困难。
- 8 -
第3章 系统分析
3.1 可行性分析
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。 3.1.1 经济可行性
开发该系统所需的相关资料可以通过网络下载,所需的其他应用软件、硬件系统也易于获得,没有Android手机也可以在网站上下载虚拟机。因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有界面美观、低成本、高质量、易操作的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。 3.1.2 技术可行性
本系统主要完成了对音乐文件的播放功能,以及对本地音乐、网络音乐的。实现音乐播放器的开发。
开发工具:eclipse。 数据库环境:SQLite。
系统环境:Microsoft Windows 2000或以上版本。
系统实现依靠相对熟悉的Java语言和SQLite数据库系统,其基本操作实质还是对数据库进行添加、删除、查找等操作,暂不存在技术问题。 3.1.3 操作可行性
本系统采用目前主流的MVC结构开发,方便管理维护,另外也可节省资源。并且Android手机的应用程序都是开源的,可以对程序即时改动,手机对大多数人来说,操作起来根本就很简单。只要会用手机的人都会很快使用本应用程序。所以操作可行性,是可以的。
3.2 需求分析
随着手机的发展,手机应用程序的日趋发达,对Android手机应用程序日益流行。同时,在Android手机很火的情况下,应用程序也取得了优良的经济效益和社会效益。为此,开发一个让用户满意,让用户赏心悦目的音乐播放器应用程序是可行的。可见,音乐播放器的开发化势在必行。音乐播放器应用程序将先进的编程技术与智能手机完美地结合起来,实现了对音乐文件的播放,对本地音乐管理、网络音乐下载、音乐的收藏等功能。
- 9 -
基于Android平台的手机音乐播放器的设计与实现
传统的音乐播放器往往令使用者感觉到界面的美观,功能的不足,例如:界面老化、功能太少,操作不合理等,从而让使用者一般都是在听,从来不会被界面所吸引。从以上问题可通过先进的编程技术,合理的开发,精致的界面设置,功能的强大,是可以让使用者在听歌之余也会被良好的音乐播放器的界面所吸引。
在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,其中的代表作有苹果的IOS系统,Nokia的塞班系统,摩托罗拉的Linux系统,黑莓系统等,但在众多的手机系统中,android系统以其代码开源 ,设计完美,编写方便,赢得了广大程序员的喜爱,另外酷炫的界面,强大的功能,超多的应用(这是其他软件系统望尘莫及的)操作简单。这是Android的发展前景没有几个手机能够比拟的,这也是Android系统的应用程序的可观的发展前景。
我在经过对市场深入细致的分析和研究后,运用的先进计算机技术,结合Android手机的特点,开发了音乐播放器的应用程序。一个音乐播放器的应用程序不仅仅是让用户单纯的印个,它能让工作人员从繁琐的手工操作中解脱,并且音乐播放器的应用程序本身就代表着一种先进技术。随着它的深入,将带动其他应用程序,为Android手机应用程序的发展做先驱。为了达到这个要求,它必须依靠高起点的硬件环境和软件开发工具来保证系统的稳定和正常运行。
总之,使用音乐播放器的应用程序,将会有一下好处: (1)播放控制:快速简洁,易于操作,对音乐的管理很简单。 (2)高效的控制管理:能有效的提高播放器的使用性。。
(3)提高管理:使用者可以完全即时的对音乐进行增、删、改、查。
(4)舒缓工作压力:好的音乐播放器,精美的界面会让使用者赏心悦目,舒缓工作压力。
(5)即时更新音乐,下载音乐。
(6)树立良好的Android应用程序的形象。
根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述,如图3-1。
- 10 -
图3-1 播放器基本控制图
(1)用例名称:播放。 参与者:用户。
目标:使得用户可以播放在播放列表中选中的歌曲。 前置条件:播放器正在运行。
基本事件流:1. 用户单击“播放”按钮。
2. 播放器将播放列表中的当前的歌曲。 (2)用例名称:暂停。 参与者:用户。
目标:使得用户可以暂停正在播放的歌曲。 前置条件:歌曲正在播放且未停止和暂停。 基本事件流:1. 用户单击“暂停”按钮。
2. 播放器将暂停当前的歌曲。 (3)用例名称:上一首/下一首。 参与者:用户。
目标:使得用户可以听上一首或下一首歌曲。 前置条件:歌曲正在播放或暂停。
基本事件流:1. 用户单击“上一首或下一首”按钮。
2. 播放器将播放上一首或下一首歌曲。 (4)用例名称:播放进度控制。
- 11 -