毕业设计_Android短信查询及加密系统_短信查询

    上回介绍了系统的会话加密功能的实现,这回介绍一下短信查询功能。软件实现了根据联系人号码、短信内容、短信发生时间进行多条查询,支持查询条件的或运算和与运算。多条件查询指的是多个查询字段的联合查询,可以这样理解,用户可以查询所有发生在"下午5点"、号码包括"189"、内容包括"你好"的短信。而查询条件的或运算指的是,用户可以同时查询发生在"下午3点"和"晚上9点"的短信;与运算则可以这样理解,用户可以查询内容同时包含"你好"和"再见"的短信。下面是程序截图:

 

                    

                                                      

                   

 

                   

                                                                     图1.多条件查询

     

       由上面图组可以大致的了解多条件的查询过程,本程序规定以"#"(井号)为与运算分隔符,以":"(冒号)为或运算分割符,这里需要注意的是冒号是包括中、英文两种的,都需要进行处理分析。

 

                   

 

                   

 

                   

                                                              图2.或运算及与运算

      程序中使用的查询流程是:1)准备查询数据,这在前面的会话加密中已经有所提到,主要是通过欢迎界面实现的。当然,如果在程序使用过程中,设备发生了短信数据的通信,此时可以通过ContentObserver来实现查询数据的准备监听动作,关于内容同步的问题也是我在程序设计中考虑的问题,因为刚开始做这个设计时,是毫无头绪的,完全是看着手机上自带的短信程序的运行效果写的。所以,也写了短信的发送和接收模块,这就涉及到数据同步的问题,主要就是使用ContentObserver实现的。2)查询关键字的处理,从检索输入栏中得到只是单纯的字符串数据,要得到有效的检索关键字,我主要使用了String.splite()方法实现的,需要先对字符串进行子句分割,就是先根据冒号(:)分割,在对具体的子句进行关键分割(即对#进行分割)。3)查询方法的实现,直接使用了SQL中的select语句,配合LIKE、OR、AND运算符实现的,不知道是不是太低级了,但是经过验证查询效率还是令人满意的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值