深圳销量统计源码分析
└─SysStasl_Plt │ .classpath │ .project │ AndroidManifest.xml 清单文件
MainActivity、PreferenceXActivity、SubmitsendActivity、SubmitreceiveActivity
InforSimService、InforService、SelectBranchService、sms.InforSmsService、
BootCompletedReceiver(后台长期运行)、sms.SmsReceiver
│ project.properties │ ├─.settings │ org.eclipse.jdt.core.prefs │ ├─assets ├─gen │ └─com │ └─transsion │ └─statisticalsales │ BuildConfig.java │ Manifest.java │ R.java │ ├─res │ ├─drawable │ │ background_bt_corner.xml │ │ corners_bg_dialog.xml │ │ │ ├─drawable-hdpi │ │ ic_launcher.png │ │ │ ├─drawable-ldpi │ ├─drawable-mdpi │ │ ic_launcher.png │ │ │ ├─drawable-xhdpi │ │ ic_launcher.png │ │ │ ├─drawable-xxhdpi │ │ ic_launcher.png │ │ │ ├─layout │ │ activity_main.xml │ │ preference_head.xml │ │ submitactivity.xml │ │ submitactivityr.xml │ │ │ ├─values │ │ strings.xml │ │ styles.xml │ │ │ ├─values-bn-rBD │ │ strings.xml │ │ │ ├─values-hi │ │ strings.xml │ │ │ └─xml │ preferences.xml │ └─src └─com └─transsion └─statisticalsales │ BootCompletedReceiver.java 开机启动判断是否已经注册过了,如果NV没有注册过,那么启运服务 │ InforService.java 网络GPRS销量统计发送接口 │ InforSimService.java SIM卡信息监听和提取服务,取到数据就结束本服务 │ MainActivity.java │ PreferenceHead.java │ PreferenceXActivity.java │ SalesModel.java 取手机中卡的lac cid 主卡 mcc 副卡mcc │ SelectBranchService.java 对两张卡都进行监听,并返回当前卡的信息,详细信息从 SalesModel中取 │ SimStateReceive.java 接收电话状态,如果手机卡状态正常,就开启计时功能,为以后的发送信息提供授时判断 │ SleepThread.java 提供睡眠计时 │ ├─sms │ CallContentObserver.java 电话状态监听 │ InforSmsService.java 短信发送服务 开启了eventBus ,如果主卡没有发送成功用副卡发,副卡没有发送就监听拔打电话状态,dialog显示提示 │ SleepThreadSendMsg.java 短信睡眠计时 │ SmsConstant.java 只提供了一个变量 │ SmsModel.java 短信提取手机状态 │ SmsReceiver.java 短信接收并向InforSmsService返回短信是否发送成功 │ SubmitreceiveActivity.java 接收到短信,显示界面 没用到 │ SubmitsendActivity.java 发送短信前显示界面 没用到 │ └─util BaseEvent.java EventBUS基类 FileSizeUtil.java 计算文件大小 FileUtil.java 临时文件读写 HttpCallback.java 回调接口无实现 HttprequestResult.java 对HTTP返回的数据保存结果 Logs.java LOG输出 MD5Util.java 对文本进行md5加密 MobileUtil.java 取本机手机内各种信息 Mylog.java log类 NvCacheInfo.java 取NV中的数据,及停止其他服务使用 NvRAMAgent.java aidl通过代理对NV里的数据,进行真实读写操作 PreferencesUtils.java 用于保存preferences 保存数据,开关机后的变量重新更新。 RegisterUtils.java 对NV数据进行读写 开启aidl并传送数据,这里的写入读取数据中使了安全逻辑,并使用位操作,只对一位进行操作 RequestInfomation.java 发送数据组合,给发送返回需求需要的数据 SsConstant.java 保存各种全局变量如时间,发送次数,MCC,服务电话号等 SSHttpClient.java HTTP 请求post数据,并对返回数据进行判断是否成功 StorageUtils.java 取出临时目录绝对路径地址 TimeUtils.java