简易手机管家设计与实现_第1页
简易手机管家设计与实现_第2页
简易手机管家设计与实现_第3页
简易手机管家设计与实现_第4页
简易手机管家设计与实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简易的手机管家的设计与实现目录第一章绪论 11.1系统开发背景 1第二章需求分析 12.1可行性分析 12.1.1技术可行性 12.1.2经济可行性 12.1.3操作可行性 12.1.4法律可行性 22.2业务流程 2第三章概要设计 33.1文件管理 33.2骚扰拦截 3第四章详细设计与系统实现 44.1模块设计 44.1.1文件管理的详细设计 54.1.2骚扰拦截的详细设计 11第五章系统测试以及软件安装 135.1测试报告 13结论 13参考文献 13绪论1.1系统开发背景随着现代通信行业的迅猛发展,手机几乎每个人都会有,人们的隐私越来越暴露,也给用户带来了诸多不便。通过对市场的大量调查结合我们的专业知识,基于现在最热门的手机智能操作系统(Android)开发了一款手机管家,赋予了它管理手机文件和电话骚扰拦截功能。需求分析2.1可行性分析2.1.1技术可行性很多博客中都有很多关于手机管家的介绍,我们身边有很多学习Android的老师同学可以帮助我们。2.1.2经济可行性我们是自行开发的系统,成本可以忽略不计,还有后期维护的费用也相对比较低廉。2.1.3操作可行性软件编程完成后可直接在手机上测试运行2.1.4法律可行性本系统开发不会侵犯他人、集体或国家利益,不存在侵权等问题,不违反国家法律,因此具有法律可行性。2.2业务流程如图2—如图2—SEQ如图2—\*ARABIC1骚扰拦截骚扰拦截文件管理文件打开重命名文件删除文件加入拦截号码图2-图2-SEQ图2-\*ARABIC1概要设计3.1文件管理首先是获取当前是否是根目录,然后把文件的路径设置给我们要显示的View。然后用一个ArrayList来装我们目录下的所有的文件或者文件夹。把这个文件夹的父类装到我们的列表中去,然后把这个文件夹下的子文件都拿到,也装在列表中,然后调用Adapter显示出来。3.2骚扰拦截其实在android在1.1版本后就已经把Phone类的相关API给隐藏起来了,想要用代码实现挂断电话的功能,就必须通过AIDL才行,然后利用反射来使用其方法在程序中新建一个包,包名必须为:ernal.telephony,因为使用aidl。要监听电话状态,当来电时,检测来电号码是否符合拦截标准(这个拦截标准是我们自己定的,我们拦截指定号码如实现一个黑名单的功能)详细设计与系统实现4.1模块设计本软件分为两个功能模块:文件管理、骚扰拦截如图4-SEQ如图4-\*ARABIC1所示图4-图4-SEQ图4-\*ARABIC1

4.1.1文件管理的详细设计通过获取文件的根目录对文件进行打开、重命名、删除的操做如图4-如图4-SEQ如图4-\*ARABIC2所示图4-图4-SEQ图4-\*ARABIC打开文件打开文件需要知道文件的类型,我们通过方法getMIMEType()获取文件类型代码如下:privateStringgetMIMEType(Filefile){

Stringtype="";

Stringname=file.getName();

Stringend=name.substring(name.lastIndexOf(".")+1,name.length()).toLowerCase();

if(end.equals("m4a")||end.equals("mp3")||end.equals("wav")){

type="audio";

}

elseif(end.equals("mp4")||end.equals("3gp")){

type="video";

}

elseif(end.equals("jpg")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")||end.equals("gif")){

type="image";

}else{

type="*";

}

type+="/*";

returntype;

}打开文件需要调用系统应用,通过方法openFile()方法里Intent.FLAG_ACTIVITY_NEW_TASK与Intent.ACTION_VIEW实现,代码如下:

privatevoidopenFile(Filefile){

Intentintent=newIntent();

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction(Intent.ACTION_VIEW);

Stringtype=getMIMEType(file);

intent.setDataAndType(Uri.fromFile(file),type);

try{

startActivity(intent);

}catch(Exceptione){

Toast.makeText(this,"未知类型,不能打开",Toast.LENGTH_SHORT).show();

}

}

重命名文件获取文件的根目录,进行重命名如图4-SEQ如图4-\*ARABIC3所示图4-图4-SEQ图4-\*ARABIC3获取文件的根目录file.getParentFile().getPath()然后判断文件是否可读再进行命名操作,代码如下:if(newFile.exists()){

//排除没有修改情况

if(!modifyName.equals(file.getName())){

//弹出对话框

newAlertDialog.Builder(MainFile.this)

.setTitle("注意!")

.setMessage("文件名已存在,是否覆盖?")

.setPositiveButton("确定",newDialogInterface.OnClickListener(){

@Override

publicvoidonClick(DialogInterfacedialog,intwhich){

if(file.renameTo(newFile)){

showFileDir(fpath);

displayToast("重命名成功!");

}else{

displayToast("重命名失败!");

}

}

})

.setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override

publicvoidonClick(DialogInterfacedialog,intwhich){

}

}.show();

}

}else{

if(file.renameTo(newFile)){

showFileDir(fpath);

displayToast("重命名成功!");

}else{

displayToast("重命名失败!");

}}删除文件判断文件是否存在然后删除如图4-SEQ如图4-\*ARABIC如图4-SEQ如图4-\*ARABIC4所示图4-SEQ图4-\*ARABIC4通过File类中的delete()方法进行删除,代码如下:if(file!=null)

{

try

{

Filefile2=file;

file2.delete();

result=true;

}

catch(Exceptione)

{

e.printStackTrace();

result=false;

}

}4.1.2骚扰拦截的详细设计对来自黑名单中的电话进行拦截如图4-如图4-SEQ如图4-\*ARABIC5图4-图4-SEQ图4-\*ARABIC保存需拦截的号码通过SharedPreferences把要拦截的号码存起来,代码如下:SharedPreferencessp=context.getSharedPreferences("phone",Context.MODE_PRIVATE);

sp.edit().putString(key,value).commit();监听电话状态进行拦截通过BroadcastReceiver采用广播机制向全体广播监听手机电话未接听、通话中、挂断三种状态,在未接听的状态中核对黑名单电话进行拦截,代码如下:Methodmethod=clazz.getDeclaredMethod("getITelephony",(Class<?>)null);

//设置可访问

method.setAccessible(true);

//执行方法

ITelephonyiTelephony=(ITelephony)method.invoke(tm,(Object)null);

//判断

//得到号码

Stringn=PrefUtil.getString(context,"number","").trim();

if(n.equals(number)){

iTelephony.endCall();

}系统测试以及软件安装5.1测试报告软件在中兴手机型号为NX513J,android版本为5.1.1中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论