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

来源:互联网 发布:fakin it 编辑:程序博客网 时间:2024/04/29 12:49

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

 

                    

                                                      

                   

 

                   

                                                                     图1.多条件查询

     

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

 

                   

 

                   

 

                   

                                                              图2.或运算及与运算

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

原创粉丝点击