基于android平台的音乐播放器.doc
《基于android平台的音乐播放器.doc》由会员分享,可在线阅读,更多相关《基于android平台的音乐播放器.doc(156页珍藏版)》请在咨信网上搜索。
基于android平台的音乐播放器(完整资料) (可以直接使用,可编辑 优秀版资料,欢迎下载) 班 级 学 号 河北XXXXXXXXXXX学院 毕业论文 题目:基于android平台的音乐播放器 姓 名 专 业 指导教师 河北XXXXXX学院XXXX系 二0一二年十二月 基于android平台的音乐播放器 摘要 随着中国进入3G时代,整个软件行业也开始从PC时代逐步转移到后PC时代,从互联网时代转移到移动互联网时代。这个时代是一个充满机遇与挑战的时代,三大运营商进入了新一轮的角逐,手机厂商开始了新一轮的战役,在这场战役中以操作系统为主要武器,在这场战役中Android异军突起,用了不到三年的时间将诺基亚塞班拉下马,成为世界上最炙手可热的手机操作系统。目前Android是最热门的操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。所以开发基于Android操作平台的应用具有巨大的意义. 本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的音乐播放器软件。 关键字:3G;android;智能手机平台:音乐播放器 目 录 第1章 绪论4 1。1 项目背景4 1.2 编写目的及意义4 1。3 本项目实现的基本目标和研究目的5 1.4 参考资料5 第2章 项目需求分析5 2.1 系统界面需求5 2。2 系统结构图和流程图6 2.3 功能需求7 2。3.1 播放器的基本控制需求 7 2。3.2 播放清单列表管理需求9 2。3.3 播放友好性需求10 2.3。4 功能需求分析11 2。4 系统性能需求11 2.5 运行环境需求11 第3章 Android数据库设计12 3.1 数据库表的介绍12 3。2 数据库的连接13 第4章 Android项目介绍16 4。1 开发语言简介16 4。2 搭建Android开发环境20 4.3 Android 音乐播放器的工程21 第5章 系统功能详细设计25 5.1 欢迎界面模块详细设计25 5。2 主界面模块详细设计27 5.3 播放列表模块详细设计29 5。4 歌曲播放模块详细设计32 5.5 会员登录模块详细设计34 5。6 会员注册模块详细设计37 第6章 系统测试39 6.1 登陆功能测试39 6.2 音乐播放功能测试41 第7章 总结41 致 谢42 第1章 绪论 1。1 项目背景 随着当今社会的生活节奏越来越快,人们对手机的要求和依赖性也变得越来越高,并且由于手机市场发展迅速,使得手机操作系统也出现了不同各类,其中占据最大市场的便是谷歌的Android操作系统,因为其开放源码的优势也使得Android系统拥有无法估量的发展前景,那么问题来了,Android可以让开发者自己编写个性的漂亮的实用的音乐播放器吗?问题的答案是肯定的,本文就将体现如何在基于谷歌的Android平台中创造属于自己的播放器 Android:是Google公司推出的专门为移动设备开发的平台,自2007年11月5人推出以来,在短短的几年时间里就超越了称霸10年的诺基亚Symbian系统,成为全球最受欢迎的智能手机平台.Android应用不仅可以开发在手机或者平台中运行的软件,同时在电视已经很多设备上都有它的一席之地,本次音乐音乐播放器就是基于Android平台的. 随着计算机的不断发展与广泛运用,以及手机市场的迅速发展,各种各样的音频资资源也开始在网络上广为流传,这些看似平常的资源,却已经慢慢的渐渐的成为了大众生活中必不可少的一部分.这也造成了各种手机播放器层出不穷的出现,但是很多的播放器都是以为的追求着外观的花销,功能的庞大,以及经济的效益,使得播放器对用户的手机造成了很多资源的浪费,比如CPU,内容占用率过高,高耗电量等。 也使得操作起来过于繁杂,使用户在使用在有不小的影响,带来了很多的不便,而对于大多数的使用者来说,很多的功能都是用不上的,形同虚设。 1。2 编写目的及意义 鉴于当前的背景,以及以上各种弊端,在功能上选择了更为人性化的音乐播放器,同时对于各种性能的优化上也做出了一定的调整,也继承了播放器的常用功能,满足大部分使用者的需求。 在了解了市场上各种主流的手机播放器之后,更加清楚如何去开发一款手机播放器,懂得开发所欲要的插件以及编码方式,也分析了各种编码的优点和缺点以及播放器自己所拥有的缺陷和特点,实现一款使用更方便,功能更使用的手机播放器。在目前为止,改播放器已实现了能播放常见格式音频文件的功能,如MP3,WAV.AVI,RM,RMVB等,同时也拥有属于自己的播放界面,具备平常播放器拥有的功能,如音量调节,上一首,下一首等.播放模式也拥有单曲,列表顺序,列表循环,随机播放等。 1。3 本项目实现的基本目标和研究目的 本论文要实现的基本需求和主要功能有以下几点: (1) 开场动画。 (2) 音乐播放器的基本功能有:播放,暂停,停止,上一首,下一首,音量调节,定点播放等等功能)。 (3) 本地音乐的获取,扫描手机SD卡中的音乐,在列表中显示播放时间在30秒以上的音频文件。 (4) 底部菜单{我的音乐(主界面),随便听听(联网),搜歌(联网),功能菜单}. (5) 会员登陆/注册(登陆成功后进入的云端好音乐,随时听好听的音乐)。 (6) 歌曲的播放模式及各种设置 1.4 参考资料 《android初级教程》《android中级教程》《android高级教程》 《基于JSP的Web应用开发》以上文献,全部来自安博教育集团组编。 第2章 项目需求分析 2.1 系统界面需求 音乐播放器界面具有合理的布局,界面颜色整洁,控制按钮便利,要求播放器有一个主要的实用标准,以及统一的主题思想。 例如登陆界面: 2。2 系统结构图和流程图 (1)音乐播放器的系统流程图(图2。2.1) (2) 系统功能表(表2。2。2。1) 功能类别 子功能 子功能 播放列表 播放列表菜单 退出播放 从扩展卡寻找歌曲 歌曲菜单 播放-〉进入播放界面 删除—〉数据库同步更新 重命名—〉数据库同步更新 向上、下移动—>数据库同步更新 播放界面 播放 播放歌曲->线程启动-〉时间更新 暂停 暂停歌曲->线程暂停-〉时间暂停 停止 停止歌曲-〉线程停止->时间停止 上一首 播放列表索引变化—〉寻找上一ID歌曲 下一首 播放列表索引变化->寻找下一ID歌曲 播放界面菜单 返回到播放列表 返回到主菜单 从扩展卡寻找歌曲 退出播放器 隐藏播放界面 主菜单 退出程序 程序退出 进入播放列表 显示播放列表 表2.2.2。1 2。3 功能需求 2。3。1 播放器的基本控制需求 如图: 图2。3.1播放器基本功能图 用例名称:播放 参与者:用户 目标:使得程序播放选中的歌曲 前置条件:程序运行在播放菜单选项中 基本事件流:1。用户单击“播放”按钮 2。播放器进入播放状态 用例名称:暂停 参与者:用户 目标:使得用户可以暂停正在播放的歌曲 前置条件:歌曲正在播放且未停止和暂停 基本事件流:1。用户单击“暂停”按钮 2.播放器将暂停当前的歌曲 用例名称:停止 参与者:用户 目标:使得用户可以停止正在播放的歌曲 前置条件:歌曲正在播放或暂停 基本事件流:1。用户单击“停止"按钮 2。播放器将停止当前播放的歌曲 用例名称:上一首/下一首 参与者:用户 目标:使得用户可以听上一首或下一首歌曲 前置条件:歌曲正在播放或暂停 基本事件流:1.用户单击“上一首或下一首”按钮 2。播放器将播放上一首或下一首歌曲 2.3.2 播放清单列表管理需求 图2。3。2 播放器基本功能图 用例名称:播放 参与者:用户 目标:使得程序播放选中的歌曲 前置条件:程序运行在播放菜单选项中 基本事件流:1.用户单击“播放”按钮 2.播放器进入播放状态 用例名称:返回 参与者:用户 目标:使得程序返回上一层 前置条件:程序运行在播放菜单选项中 基本事件流:1。用户单击“返回”按钮 2。返回到主界面 用例名称:删除 参与者:用户 目标:使选中的歌曲删除 前置条件:程序运行在播放菜单选项中 基本事件流:1.用户单击“删除”按钮 2.播放器删除选中歌曲/全部移除歌曲 2.3.3 播放友好性需求 用例名称:播放模式 参与者:用户 目标:使得程序进入播放模式设定状态 前置条件:程序运行在播放器设定界面中 基本事件流:1.用户单击“顺序、随机、单曲”按钮 2。播放器进入选中模式播放状态 用例名称:歌词显示 参与者:用户 目标:使得程序进入播放器歌词设置状态 前置条件:程序运行在播设定界面 基本事件流:1.用户单击“歌词开关按钮"按钮 2.播放器显示或关闭歌词 2。3。4 功能需求分析 播放器拥有的功能需求使得开发者开发出应有的软件功能,使得用户能在软件上能实现他们需要的业务需求。在用户需求文档中,描述了用户如何使用该产品必须要完成的任务。 2.4 系统性能需求 根据Android系统要求软件无响应时间为5秒,所以本软件就有以下几点性能要求: (1) 当要求歌曲播放时,程序响应时间最长不能超过5秒 (2) 当要求歌曲暂停时,程序响应时间最长不能超过5秒 (3) 当要求歌曲停止时,程序响应时间最长不能超过5秒 (4) 当要求歌曲上/下一首时,程序响应时间最长不能超过5秒 2。5 运行环境需求 操作系统:Android手机基于Linux操作系统 支持环境:Android 1.5 — 4。0.3版本 开发环境:MyEclipse 8.5 ADT 0.95 MySQL Tocat 6.0 第3章 Android数据库设计 开发应用程序时,对于数据库的操作是必不可少的,数据库的设计是根据程序的需求以及实现功能所制定的,一个合理的高效的数据库将会直接影响到程序的开发过程,以及程序的使用。 在涉及数据库的软件开发中,需要根据有待 解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择。 3.1 数据库表的介绍 本次数据库系统采用了MySQL数据库系统,在该系统中新建一个数据库,将其命名为mediaplayer。sql。然后,在该系统中创2个数据库表,分别为会员信息表(table_user) 、云播放列表(table_cloudlist)。 下面对主要的数据库表做简要的介绍: 表3。1音乐播放器表清单 表名称 表用途 table_user 会员信息表 table_cloudlist 云播放列表 3.1.1 用户注册表 会员信息表包含了用户的ID、用户名、密码、邮箱. 表3。1.1会员信息表 列名 数据类型 长度 字段描述 UserID int 11 用户ID,主键,自动增长 UserName varchar 50 用户名 Password varchar 20 用户密码 Email varchar 50 用户邮箱 3.1.2 云播放列表 云播放列表包含了列表的ID、歌名、歌手名字。 表3.1.1会员信息表 列名 数据类型 长度 字段描述 ListID int 11 L列表ID,主键,自动增长 MusicName varchar 50 歌名 SingerName varchar 20 歌手名字 3.2 数据库的连接 本次项目需要用户手机安装的客户端和服务器端的连接,进行数据的交互,查询,添加等活动。所以服务器端要先与数据进行连接,进行必要数据交互,就是所谓的后台服务。 服务器端连接数据库,需要JDBC的支持。 JDBC的全称是Jave DataBase Connectivity(Java数据库连接,严格的讲,JDBC是Sun Microsystems注册的商标而非缩写)。JDBC是SUN公司定义的Java操作数据库的规范(一系列接口)。通过JDBC可以操作任何的关系数据库(前提是具备数据库JDBC驱动程序)。 3。2.1 JDBC工作原理 JDBC定义了一座操作数据库的接口,不同的数据库厂商提供了不同JDBC接口的实现,这个实现称为JDBC驱动。这样就可以通过JDBC接口来对不同的数据库获得统一的操作。JDBC工作原理如图: 最顶层是我们编写的Java的应用程序,Java应用程序通过JDBC API来连接和操作数据库,JDBC API定义了访问数据库的接口和类,其中一些接口由不同的数据库厂商来实现. 这些不同的数据库厂商提供的JDBC驱动程序需要由JDBC Manager来管理,JDBC Driver Manager 管理的这些不同数据库厂商的JDBC驱动程序,负责连接各种不同的数据库. 3。2。2 JDBC API 简单地说,JDBC API可做的三件事:与数据库建立连接,发送需要执行的SQL语句,获取处理结果.如图所示: 3。2。3 JDBC 程序访问数据库 JDBC访问数据库的过程我们可以分解为1个准备和8个步骤(天龙八部),如图所示: Ø 1个准备:从官网上下载MySQL数据库JDBC驱动的jar包:mysql-connector—java—3。1。11-bin。jar文件,将jar包放到Web应用放在WEB—INF/lib目录中 Ø 8个步骤(天龙八部): (1) 第一步:加载并注册连接数据库的驱动程序类 举个例子: Class.forName(com。mysql。jdbc.Driver); (2) 第二步:创建与数据库的连接 举个例子: String URL=”jdbc:mysql://localhost:3306/mediaplayer”; Connection con=DriverManager.getConnection(URL,数据库名,密码); (3) 第三,四步:查询数据库 举个例子: String str ="select * from table_cloudlist”; pstmt = conn。prepareStatement(str); (4) 第五步:处理结果 举个例子: rs = pstmt.executeQuery(); while(rs。next()){ CloudList clist = new CloudList(); clist。setListID(rs.getInt(1)); clist。setMusicName(rs。getString(2)); clist。setSingerName(rs.getString(3)); clists。add(clist); } (5) 第六、七、八步:关闭结果集、查询语句及数据库的连接(注意关闭的顺序先ResultSet再PreparedStatement最后为Connection) 举个例子: finally{ DBC.close(rs); DBC.close(pstmt); DBC.close(conn); } 第4章 Android项目介绍 4.1 开发语言简介 4。1.1 Android简介 Android(安卓),是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中.Android已发布的最新版本为Android 6.0.1(M)。 Android系统最初由安迪•鲁宾(Andy Rubin)等人开发制作[1] ,最初开发这个系统的目的是创建一个数码相机的先进操作系统;但是后来发现市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款面 向智能手机的操作系统。於2005年8月被美国科技企业Google收购。2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随後,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,Android後来更逐渐拓展到平板电脑及其他领域上。 4。1。2 Android Features特性 Android系统的特性: v 应用程序框架 支持组件的重用与替换 v Dalvik虚拟机 专门为移动设备做了优化 v 内部集成浏览器 该浏览器基于开源的WebKit引擎 v 优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES v SQLite 用作结构化的数据存储 v 多媒体支持 包括常见的音频、视频和静态印象文件格式(如 MPEG4、H.264、MP3、AAC、 AMR、JPG、PNG、 GIF) v GSM电话(依赖于硬件) v 蓝牙Bluetooth,EDGE,3G and WiFi (依赖于硬件) v 照相机,GPS,指南针,和加速度计 (依赖于硬件) 4。1。3 Android基本框架(Android Architecture) (1)Applications Application Android提供的一组应用程序,包含了email客户端,SMS程序,日历,地图,浏览器,通讯录等。这部分的应用程序都是使用JAVA语言编写的。 (2)Application FrameWork 不管是Android系统提供的应用程序还是开发人员自己编写的开发程序,都要用到Application FrameWork(应用程序框架)来大幅度的简化代码的编写以及提高程序的复用性。 (3)Libraries库 Android系统提供的一组C/C++库,为Android平台中不同的组件所使用,开发人员通过Application FrameWork便可以使用到这些库所提供的不同的功能。 (4)Android Runtime(Android运行时) Android系统运行时包括核心库以及Dalvik虚拟机两大部分。其中核心库提供了Java语言核心库中包含的大部分功能,虚拟机则负责运行程序。Daivik虚拟机专门用来针对手机登移动设备来进行编写,好处在于不仅效率高,而且占用内存少。 (5)Linux内核 Android平台使用了Linux2.6版的内核所提供的核心系统服务,包括了安全性,内存管理,进程管理等。 4。1.4 Android系统的四大组件 在Android系统中,为我们提供了四大基本组件,下面分别介绍四大组件: (1)Activity 简介 Activity是最基本的模块,我们称之为“活动",在应用程序中,一个Activity通常就是一个单独的屏幕.每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应。 (2)Service 简介 Service就是一种运行在后台的服务程序,没有可视化界面定义,Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()方法来绑定一个存在的Service (3)Broadcast Receiver 简介 Broadcast Receiver 顾名思义广播接收器,它的处理机制是系统级别的。到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。我们可以在你的应用程序中实现Broadcast Receiver来监听和响应这些广播的Intent 。 (4)ContentProvider简介 Content Provider 是用于开发者保存和检索数据的,并且使应用程序之间相互访问数据成为可能.它是跨应用程序共享数据的唯一方法。 Android 为常用的数据类型(如:音视频、图片和联系方式等)提供了大量的Content Provider.它们被定义在android。provider包下面。当然我们必须拥有适当的权限。 4。2 搭建Android开发环境 任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android开发环境的配置。 搭建开发环境需要的软件: 操作系统:window XP或linux 软件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool) IDE环境:Eclipse IDE+ADT Eclipse3.3以上 JDK:Java Runtime Environment虚拟机 、(JDK)Java Development kit 安装步骤如下: 第一步:安装Java虚拟机sun-java6—jdk版本. 第二步:安装Eclipse3.5工具,到官网http://www。eclipse.org/downloads/,选择版本下载后进行安装。 第三步:安装Android SDK:首先要下载SDK,可以在这个网址下载Http://developer.Android。com/sdk ,选择相应的系统进行安装。 第四步:安装Android ADT插件。 运行Eclipse,选择help-〉install new software 选择add,将会弹出一个【Add Site】对话框. 点击OK,选择要安装的软件,占next,然后选择接受协议,直到安装成功,重启Eclipse软件,设置Android SDK Home,Window—〉refrence。 设置Android SDK Home界面 在SDK location中输入SDK Tools路D:\Androidsoftware\Android—sdk—windows 点击OK,这样Android环境就已经搭建成功了。 4。3 Android 音乐播放器的工程 4.3。1 Android项目 Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),通过启动StartIntent()方法来使各组件进行跳转 Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) RelativeLayout(相对布局)五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的。 Android的线程,以及线程之间通信的中介:Handler类 Android配置文件:AndroidManifest.Xml及res资源文件中各种属性布局方式引用的资源等. 图 4.3。1 android模拟器 4。3.2 Android工程程序结构 Android工程基本结构目录包括:src (源代码)、gen(Android系统自动生成的常量)、Res(资源文件):主要存放程序界面的布局配置(.xml)文件和图片资源。AndroidMainfes。xml 是四大组件的驱动配置文件,有它的存在,Android程序的四大组件才可以正常的跳转。Android资源的类型和布局 图4.3。2资源类型和布局图 下图4-3—1 到图4—3—4为音乐播放器代码结构和各界面的配置文件,图像资源等,图4—3—1 为一个Android工程所必须的结构,图4—3—2为该播放器的。Java文件,图4-3—3为 该播放器的各种界面的布局配置文件,图4-3-4为该播放器的图片资源。 图4-3—1音乐播放器代码结构和各界面的配置文件 图4-3-2 图4—3-3 图4—3-4 4。3。3 AndroidManifest.xml文件 Android系统的任何一个程序启动都需要AndroidManifest。xml来启动程序,任何一个新建的工程目录都会自动生成一个AndroidManifest。xml文件,此配置文件是整个程序能够正常运行的核心,它里面包含了Android SDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的去AndroidManifest。xml中寻找标识来作出相应的操作.任何一个AndroidManifest。Xml文件的格式都应为: 〈?xml version="1。0" encoding=”utf-8"?> 〈manifest > 〈application 〉 <activity > 〈intent-filter〉 <action/〉〈category/〉 〈/intent-filter> </activity> 〈/application〉 〈uses-sdk /〉〈uses—permission /> 〈/manifest〉 Android系统有一个编码的规定,支持的编码是”utf—8",当程序中出现乱码是,我们须将其编码格式转化为”utf-8”。在 AndroidManifest.xml中会在第一行声明一句:<?xml version="1.0" encoding="utf—8"?〉。它是该系统支持的版本和编码。在第二行定义了我们需要使用的架构,该架构来自xmlns:android=”http://schemas。android。com/apk/res/android” xmlns(XML namespace)是一个命名空间,它就像一条河的源头一样能让我们找到系统架构,每一个配置文件必须有这个xmlns,否则程序中的所使用的所有资源将无法找到. 在application元素我们定义android:icon="@drawable/icon" android:label=”@string/app_name”,android:icon是程序在手机中显示的图片,我们运用@drawable/icon表示了对res/drawable目录下的icon.png的引用。@string/app_name表示了对res/value目录下string。Xml中定义的app_name参数的引用。 这是系统确定的首先要启动的Activity是WelcomingActivity。 在intent-filter选项中,有action和category等等属性,我们需要定义action的值为Android。intent。action.MAIN,category的值为Android.intent。category.LAUNCHER,它们是系统的值,程序在解析到这些常用后就可以确定首先要启动的Activity。当我们需要通过一个组件触发另一个组件时,我们将设定action和category的其它属性值,系统会根据我们设定的属性值去AndroidManifest。Xml的application 中寻找标识,任何一个Activity的action和category是唯一,所以程序在任何时候都能唯一启动一个Activity,这样,不同的Activity之间的跳转就实现了。 在AndroidManifest.Xml中有一个根结点<uses-sdk〉,它是我们需要定义的ADT版本,例如我们将其值设定为Android:minSdkVersion="10",则表示此Android工程所用的版本为2。3,Android还有1.1、1。5、1。6、2.0、2.1、2。2、2。3、3。0、4。0这几个版本。 如果我们需要对网络进行访问,比如打开一个网页,刚我还需要设置一个网络访问权限uses-permission,将其的值设置为Android:name="Android。permission。INTERNET,我们就可以访问网络了。当然uses—permission还有很多其它的权限,例如GPS定位权限,浏览器数据存取权限com.Android.browser。permission.READ_HISTORY_BOOKMARKS等等。 当程序的任何一个组件要用到时,都必须在AndroidManifest.Xml文件中声明。四大组件要使用前都需要声明,其声明方式如下: 〈service></service〉 〈provider>〈/provider> 〈activity>〈/activity〉 <receiver>〈/receiver> 其中声明provider时还需要声明其授权 authorities。每个组件里面还有很多的属性,会根据程序的具体需要定义不同的属性。过滤器intent—filter 有两种启动方式来启动界面: (1) 显示方式 显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1,组件2)中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件。 (2) 隐式方式 隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动方式都可以通过程序setAction(ACTION常量)和startActivity(intent)或配置文件两种方式来实现组件的跳转。 第5章 系统功能详细设计 5.1 欢迎界面模块详细设计 在欢迎界面模块的设计中,应用了LinearLayout布局和Animation效果。 开机使用动画效果,5张图片自动变换。 欢迎界面模块运行结果如图中部分图片。 图5-1 欢迎界面 (1)页面设计 整体为LinearLayout布局,其中包含两个ImageView控件,设置两个图片为垂直布局。 本LinearLayout布局的id值是 llSplash,背景颜色为“#ffffffff" . (2)代码编写 欢迎界面模块主要是用于增强用户体验,让用户较容易接受本软件。在编写代码前,首先要定义一个Animation类对象,以便编写代码时调用该类中方法,主要代码如下: ha=new Handler(); ru=new Runnable() { public void run() { Intent intent=new Intent(); // 启动线程由欢迎界面跳往首页 intent.setClass(WelcomingActivity.this, MainActivity2.class); startActivity(intent); WelcomingActivity。this。finish(); overridePendingTransition(R。anim.in,R.anim。out ); } }; delay.schedule(task, 1000*3 ); } ha.postDelayed(ru, 3000);//延时跳转 FinalIntent dIntent=newIntent(this,MainActivity2.class); Timer delay = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { startActivity(dIntent); } }; 5.2 主界面模块详细设计 当欢迎界面过后,自动跳转到主界面。主界面模块运行结果如图5-2所示。 图5—2 主界面 (1)页面设计 当进入主界面,采用相对布局。 删除标题,采用自定义布局。相应代码如下: requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 线性布局,文字和图片。如下代码: 〈LinearLayout android:layout_alignParentTop=”true" android:layout_width=”match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/li1” android:background=”#4000” > <TextView android:layout_width="wrap_content" android:layout_height=”wrap_content" android:text="悦音” android:textSize="25dip” android:textColor="#8455BD" android:layout_gravity=”center” /〉 </LinearLayout〉 登陆模块和播放模块采用网格布局。代码如下: int[] gridViewPic02={R。drawable。menu006,R.drawable.menu002}; String[] gridViewText02={”登录模块”,”播放模块”}; gr- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 平台 音乐 播放 完整 资料
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文