一个安卓小项目(1)——需求与分工
10月31日 接到一个任务,要求做一款安卓apk,所以这两周都没有写东西,现在东西基本做完了,接下来该总结一下了。
这个apk就是为了让我们刚走进工作岗位的4个人熟悉一下安卓应用的开发与增强团队合作的能力。
下面来说说这个apk的需求
一、需求分析
1.1 功能性分析
(1) 该apk可以监听手机的通话,在通话时可以进行录音,及通话的电话号码,并把录音文件与电话号码发送到指定地点(可以是网络空间)。
(2) 可以获取手机上所有的短信内容,以前的,现在的,和未来的。并发送到指定地点。
(3)开机自启动,后台运行,尽量不被杀死。
(4)文件的发送最好支持断点续传,一旦有网络就进行发送。
1.2 可行性分析
(1) 该apk 需要获取录音权限,短信数据库读取权限,这些权限都是属于用户隐私权限,如果手机上有安全管理软件肯定会提示用户。
(2) 开机自启动,后台自动运行,如果有安全管理软件都是默认禁止的。
(3)现在大多数国产ROM ,都在通话中录音做了手脚,有的在通话中录音,第三方的调用录音接口是被禁止的。而自带的就可以。具体原因之后分析。
综上所述,以我现有的技术 在安卓的framework层进行开发,是不可能去规避以上的限制的,所以这个能做到时时的监听是不可能的。也只能去骗小孩了。(玩笑)
1.3 用户体验(ui)分析
(1)该apk 应该以伪装的方式,即要求嵌入到应用或者游戏中。
所以,如果伪装的好,可行性分析中的问题就大大减少了。
二、apk 模块划分
2.1 通话监听服务
2.2 短信监听服务
2.3 文件发送服务
2.4 录音模块 包括 录音存储,压缩文件,配置文件存储等
2.5 模块集成,伪装,守护进程等(这个当时没有分配,因为没想到。需求也是之后提出来的)
------------------------------------------------------------------------------------
二、分工
老大 让我来当组长,对我们四个人的工作进行分工,管理。一开始要听我对这个项目的计划等,说的完全不在道上,结果被喷了一晚上。但是喷完之后,我对这个项目的计划风险还是弄懂了大半。
首先,一个项目无论大小,都要理清思绪,对要做的工作划分模块,进行分配,并且遇到的问题如何解决,如果解决不了怎么办。最大的风险是什么,能不能按期完成。每天的工作量是多少,如果有人没有按时完成怎么办。这些问题,都是要做好一个项目要好好思考的。
我先介绍我们四个人的情况,我们四个对安卓的开发虽不是一无所知,但也到了菜鸟中的菜鸟的地步,除了一个人做过一个只有两个输入框 一个textview 一个button的加减乘除计算器。其中还有一个java都没用过。我深知我们的基础薄弱,所以我们更要互帮互助,不能因为某个人不会,而抛弃。这就是团队精神,这样我们每一个人才能进步。
所以我就我们四个人的具体情况分配了一下任务,
我 负责文件传输服务模块
B 负责 通话监听服务
C 负责录音模块 录音文件的存储 压缩
D 负责短信监听模块
其中, C需要向B提供 录音接口,文件存储接口,文件压缩接口
C 需要向D 提供文件存储接口,文件压缩接口
这里 只是这么分工了,但是后续具体的执行还是有很大出入,这也多次让我陷入了困境,也和B起了争执。这个问题是值得思考和注意的。后续我会在apk的实现中参杂讲述。
下次 讲述每个模块的具体分析有哪些流程。