1、基于android的手机防盗appdoc课程设计说明书题目: 基于android的手机防盗app院 系: 计算机科学与工程 专业班级: 信息安全11-x 学 号: 20113xxxxx 学生姓名: x x x 指导教师: x x 2014年 12 月 20 日 XXXX大学课程设计(论文)任务书 计算机 院系 网络与信息安全 教研室学 号20113xxxxx学生姓名xxx专业(班级)信息安全11-x设计题目基于android的手机防盗app设计技术参数(1)开机自启动(2)获得android手机SIM卡号(3)读写隐藏文件(4)用MD5对文件进行加解密(5)手机gps的应用设计要求(1)手机防
2、盗:根据sim的变更,判断手机是否被盗。(2)根据协议发送手中中sim卡的信息,和当前手机的位置经纬度,给安全号码 发送信息。(3)快速进入手机防盗md5加密。工作量 要求设计说明书的字数在3000字以上。工作计划2014.11.18 根据课程设计的要求,查找相关资料,完成需求分析;2014.11.19-11.25 进行系统的概要设计;2014.11.26-12.14 进行系统的详细设计和源代码的书写;2014.12.15 对系统进行调试分析,写出课程设计报告。参考资料(1) Android系统原理及开发要点详解 韩超,梁泉著 电子工业出版社(2) Android应用开发揭秘 杨丰盛著 机械工
3、业出版社 (3) android开发入门与实战 姚尚朗著 人民邮电出版社指导教师签字教研室主任签字年 月 日指导教师评语:成绩: 指导教师: 年 月 日XXXX大学课程设计(论文)成绩评定表1. 问题描述 11.1问题的意义 11.1. 实验目的 12. 需求分析 13. 概要设计 23.1手机防盗app实现流程分析 24. 详细设计 34.1开机自启动模块 34.2读取sim卡卡号 44.3获取手机持有者位置信息 54.5实现MD5加解密 74.6文件的隐藏 85. 调试分析 95.1设计的思考 95.2常见问题 96. 测试结果 106.1开机自启动测试结果 106.2获得手机持有者当前位
4、置测试结果 106.3获得当前sim卡信息测试结果 116.4读写隐藏文件以及生产MD5值测试结果 11总结 12参考文献 131.问题描述1.1问题的意义通过本次课程设计了解安卓应用开发的基本流程,学会安卓应用开发过程中基本组件的使用,同时掌握安卓应用中一些基本服务的开启以及权限的添加。(1) 加深对安卓应用开发的流程的理解。(2) 熟练掌握安卓应用开发中基本服务的开启及对应服务权限的添加。(3) 加深对MD5散发的理解与应用。1.1.实验目的(1) 掌握安卓应用开发的流程。(2) 掌握安卓应用开发中基本服务的开启及对应服务权限的添加。(3) 对已学过的安卓应用开发技术有一个系统的理解。2.
5、需求分析在现实生活中几乎每个人手中都有一部手机,然而手机的丢失却越来越成为问题。面对这个问题大家都没有很好的解决办法,也只能在自身的条件下提高安全意识。我们这次课程设计主要实现当手机丢失后尽最大可能的找回手机,这在很大程度上弥补了安全措施的不足,基于手机防盗的app市面上有很多但大部分都做得不尽完美,总存在着缺陷,希望我们的这个课程设计能给大家一个新的思路去开发手机防盗app。3.概要设计3.1手机防盗app实现流程分析本软件实现开机自启动,然后自动测试sim卡卡号,并与之前的卡号对比,若相同不做任何处理,若不同则定时向安全号码发送信息,以确认sim卡变更是否为正常行为。发送信息的内容包括当前
6、sim卡卡号、手机持有者的位置(经度,纬度),持有者移动速度与方向。这样可以在手机丢失后方便丢失者找回手机。流程图如图3.1所示:图3.1 手机防盗流程图4.详细设计4.1开机自启动模块当Android手机启动时,会发出一个系统广播,其中就有开机自启动的广播信息ACTION_BOOT_COMPLETED,它的字符串表示常量为android.intent.action.BOOT_COMPLETED。所以只要在开始时程序中捕获这个广播消息就可以开机自启动了。为了捕获这个消息需要实现一个BroadcastReceiver的子类,在这个类中的onReceive方法里实现activity或者servic
7、e的启动,需要在AndroidManifest.xml注册并添加相应的权限,如下; 具体实现源码如下:public class MyBroadcastReceive extends BroadcastReceiver private final String ACTION = android.intent.action.BOOT_COMPLETED;/定义捕获消息的内容 Override public void onReceive(Context context, Intent intent) / TODO Auto-generated method stub if (intent.getAc
8、tion().equals(ACTION);/判断捕获的消息是 /否为开机自启动消息,并启动SafetyMainActivity Intent intent2 = new Intent(context, SafetyMainActivity.class); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); 4.2读取sim卡卡号 手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到sim卡中。SIM卡只有唯一的编号,供网络与设备识别那就是I
9、MSI号码,手机的信号也可以说是通过这个号码在网络中传递的,并不是手机号码。所以我们读取的是IMSI好,需要在AndroidManifest.xml添加相应的权限,如下;具体过程实现如下;private TelephonyManager tManager; /定义TelephonyManager的对象, /以获得手机设备信息public String getSimSerialNumber() tManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);/获得系统中TelephonyService String line =
10、 tManager.getSimSerialNumber();/获取SIM卡卡号return line;4.3获取手机持有者位置信息GPS定位技术的主要功能是能够为终端用户提供高精度的位置信息。移动运营商采用基于GPS定位技术的位置服务后,终端用户可以方便快捷地获知自己或他人当前所处的位置,这也为我们防盗提供了方便,在AndroidManifest.xml添加相应的权限,如下;具体实现过程如下;public class GPSMainActivity extends Activity implements LocationListener private LocationManager loc
11、ationManager; private Location location; private String provider; private SimpleDateFormat simpleDateFormat; Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.fragment_gpsmain); locationManager = (LocationManager) getSystemService
12、(Context.LOCATION_SERVICE);/获得系统服务 simpleDateFormat = new SimpleDateFormat(yy-mm-dd hh:mm:ss); /使用Criteria确定android location provider Criteria criteria = new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);/设置为最大精度 criteria.setAltitudeRequired(false);/不要求海拔信息 criteria.setBearingRequired(fals
13、e);/不要求方位信息 criteria.setCostAllowed(true);/是否允许付费 criteria.setPowerRequirement(Criteria.POWER_LOW);/对电量的要求 criteria.setAccuracy(Criteria.ACCURACY_FINE); provider = locationManager.getBestProvider(criteria, true); location = locationManager.getLastKnownLocation(provider); updateWithNewLocation(location); locationManager.requestLocationUpdates(provider, 2000, 10, this); private void updateWithNewLocation(Location location2) String latLongSt
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1