2。2用户需求分析
根据项目的基本目标,我们可以获取到system的基本的需求,系统的基本功能需求如图2-1所示。
图2-1 功能分析
本次开发因为时间,人力有限,因此功能比较有限,因此功能也是相对比较简洁,界面比较简单。主要的功能在此先做一下介绍。当打开第一次软件的时候,没有个人信息,可以以游客身份进行歌曲的播放,下载等功能,但如果想要体验喜欢这一功能,就必要先实现注册登录操作,下次登陆,软件会记住你的用户名和密码,登陆之后,侧滑栏有主要三个功能,搜索,音效设置,和定时关闭三大主要功能,搜索主要是对服务端数据库的检索,音效设置是改变当前音效,定时关闭类似于一个闹钟的功能。当然除了这些小功能之外,我们的主要功能当然就是播放歌曲了,在播放歌曲的同时,可以进行其他一切操作。除了电台,喜欢,下载功能,后续还增加了一个歌词同步的功能,该功能较为简单,实现歌词与播放的同步播放,给用户更好的播放体验。
2。3本章小结
基于本章的结束,此次开发是完全可行的,不论是从经济角度出发,还是从技术角度出发,都是非常值得我们将这个项目给进行下去的。在进行需求分析的时候,基本的功能都是在心里有了一个基本的实现逻辑,但是音效设置,下载,歌词同步这一些功能,还不是十分熟悉,因此基于对这些功能的不断了解,我发现不论是从可行性角度出发,还是从需求角度出发,该项目都是有值得一做的可能。文献综述
第三章android应用概述
3。1安卓应用基本介绍
安卓的四大组件分别为:Activity,service,content provider,broadcast[3]。
Activity:Activity的生命周期也就是它所在Application的生命周期,如图3-1所示。
图3-1 activity的生命周期
一个Activity都处于一个状态,对于开发者来说,是无法控制其应用程序处于某一个状态,这些均有安卓系统来完成,但是当一个状态发生改变的时候,开发者可以通过调用OnXX()的方法获取到相关消息。在实现处理这些方法时,既可以在你需要处理的时候来调用。
上面说到开发者是无法控制Activity的状态的,那么Activity的状态是由Activity stuck中的位置来决定的,当一个新的activity启动时,当前的Activity将会移到Activity stuck的顶部,如果使用返回按钮的话,当前的Activity结束,且将Activity栈顶的Activity移上来并变为活动状态。
Service:Service可以在很多各式各样的场合下使用,比如播放音乐时启动了其他Activity或者将整个程序放在后台的时候需要歌曲继续在后台播放,或者说定位的时候,再或者说检测SD Card上文件变化。Service是在持续的在后台一直运行的组件,它并不会不和用户进行交互,每一个service都需要在manifest中去声明它的存在。可以通过Context。startService或者Context。bindService来启动。来,自.优;尔:论[文|网www.youerw.com +QQ752018766-
如果服务正在调用onCreat,onCommond或者onDestroy方法时,那么这个服务变成前台进程,以免被杀掉,如果服务已经被启动了,那么这个服务的优先级比用户可见界面调用的服务的优先级低一点,但是还是比不可见的高,这就意味着服务在正常情况下不会被杀掉,如果客户端已经连接服务,那么生命了这个服务的进程就会拥有算比较高的优先级,在这种情况下面我们可以觉得这个服务是可见的,如果服务正在调用foreground(int,Notification)这个方法将服务设置为前台的状态,那么系统会自动觉得这个服务是对用户可见的,并且不会在内存不足时被主动去杀死这个服务