近段时间做短信应用的相关开发,从最初的基本功能完成,到现在的操作性流畅,一步步优化,使运行速度变快、操作方便。从这一步步的调试过程中学习了不少知识,印象最为深刻的就是关于Uri的选择。 查询彩信和短信数据中每一个号码最新的一条信息:
Uri uri = Uri.parse(“content://mms-sms/conversations?simple=true”);
Cursor cursor = cr.query(uri, null, null, null, “date DESC”);
while (cursor.moveToNext()) {
cursor.getString(cursor.getColumnIndex(“_id”));//thread_id cursor.getLong(cursor.getColumnIndex(“date”));//发送或接收时间 cursor.getInt(cursor.getColumnIndex(“message_count”));//当前对话的所以信息总数
cursor.getString(cursor.getColumnIndex(“recipient_ids”));//canonical_address表的_id
cursor.getInt(cursor.getColumnIndex(“read”));//是否已读,0未读,1已读 cursor.getInt(cursor.getColumnIndex(“snippet_cs”));//标识此条数据是彩信还是短信,为空或是值为106为彩信,其它为短信 cursor.getString(cursor.getColumnIndex(“snippet”));//短信body,或是彩信主题 } cursor.close();
如图 通过thread_id查询与某联系人的所有聊天记录:
Uri uri = Uri.parse(“content://mms-sms/conversations/”+threadID); android 2.x的版本,联系人姓名、联系人电话号码 ,以及photo都分别存在不同的表中,第一次获取这些信息的时候,费了相当大的功夫,是一个表一个表的去匹配查询,不仅工作量大,而且速度极慢,后来才发现,系统提供了一个Uri可以一次把所有相关信息查询出来: android.provider.ContactsContract.CommonDataKinds.Phone.CONTENT_URI; 关于优化,最重要的就是查询出来的优化,只要查询速度快了,每个activity打开的速度自然也就快了,希望所有的童鞋们以后不要像我一样走弯路,费时费力,效率又低,找到合适的Uri,应用程序的效率才会高。
分享到:
相关推荐
PDU短信解析与生成工具是通信领域中处理短消息服务(SMS)的一种实用技术,尤其在移动设备开发、网络监控和数据分析中具有重要应用。PDU(Protocol Data Unit,协议数据单元)是GSM(全球系统移动通信)短消息协议中...
4. 故障排查:如果用户遇到无法正常显示的短信,PDU解析工具可以用来检查原始PDU数据,找出问题所在。 5. 开发与研究:对于那些正在开发自己的短信服务或者对GSM通信协议有深入研究的人来说,这样的工具提供了直接...
本文将详细介绍短信编码和PDU的相关知识,并解释如何使用"短信编码PDU生产解析工具"来辅助开发和调试。 首先,让我们关注短信编码。短信通常采用7位ASCII码来传输英文字符,但为了支持更多的语言,如中文,必须使用...
通过使用这样的解析器,可以提取短信中的关键信息,比如发送者、接收者、发送时间以及短信内容,从而进行进一步的数据分析。 文件“PduSmsParse.exe”很可能是这个解析器的执行程序,是Windows系统下的可执行文件。...
"Android短信收发流程分析" Android 短信收发流程是 Android 系统源码中一个非常重要的模块,它负责处理短信的发送和接收过程。在这个流程中,涉及到多个组件和类别,包括 ComposeMessageActivity、WorkingMessage...
3. **短信解析问题**:短信在传输过程中可能包含特殊字符、编码或者恶意代码,当不稳定的手机系统尝试解析这些短信时,可能触发系统错误,造成死机。 4. **.imy文件**:压缩包内的“震铃.imy”、“狂震.imy”和...
##### 3.2 第一条短信解析 - **短信中心号码**:`91683108200705F0`,其中`91`表示国际格式的电话号码,地址编码方法为先使用低位4比特,再使用高位4比特。如果号码个数为奇数,则最后一个字节的高位4比特设置为`F`...
总之,"pdu串短信解析工具"是一个实用的工具,帮助用户理解和解析PDU格式的短信,从而方便地处理和分析短信数据。通过这个工具,我们可以从复杂的二进制数据中提取出有用的信息,这对于调试通信问题、分析短信流量或...
【短信解析器Android组件】 这个开源项目,名为“sms-parser-android”,是一个专为Android设备设计的短信解析组件。它的核心功能是在Android系统中接收并解析接收到的短信内容,以便于开发者可以更方便地处理和...
在Android软件开发中,发送短信和解析系统短信库是两个重要的功能模块,它们涉及到用户间的通信和应用的数据处理。本文将深入探讨这两个方面,并提供相关的技术实现和注意事项。 首先,让我们了解一下如何在Android...
【短信平台软件需求分析】 短信平台软件是一种为企业提供短信发送、接收、管理和分析服务的系统。随着移动通信的快速发展,短信服务已经成为企业内部管理和对外沟通的重要工具。在中国,移动电话用户的快速增长,...
4. **转换工具的使用**:"text_unicode.exe"这样的工具就是为了解决这种编码转换问题。它可以将接收到的PDU模式16进制编码的中文短信转换为可读的Unicode文本,反之亦然。用户只需输入16进制字符串,工具会自动解析...
在实际开发中,通常会创建一个短信解析类,该类负责接收短信内容,然后使用上述技术来解析出关键信息。这个类可能会有方法如`parseCode`,`decodeBase64`等,每个方法都专注于特定的解析任务。同时,为了模块化和可...
PDU串长度是指去除短信中心号码后的实际数据长度的一半,这个信息在解析接收到的PDU时非常关键。 总的来说,AT短信猫的使用涉及一系列的AT指令,通过这些指令可以实现短信的发送、接收、读取和管理。了解这些流程...
《短信推广效果分析》 短信推广作为一种常见的营销手段,在当今数字化时代中扮演着重要的角色。通过对短信推广效果的深入分析,我们可以了解活动的成效,优化策略,并为未来的营销活动提供有价值的指导。以下是对...
4. **错误处理**:在解析和处理过程中,还需要考虑各种可能的错误情况,如无效的协议类型、解析错误、网络问题等,并提供适当的反馈或处理策略。 理解并实现Push短信协议解析是Android开发者提升应用交互性和实时性...
### 收发短信系统的需求分析知识点 #### 一、系统概述 收发短信系统是一种用于组织内部或外部通信的应用程序,旨在提供一个高效且安全的平台来满足个人及团队之间的消息交流需求。本系统不仅支持基本的短信发送与...
总的来说,PDU编码是GSM短信服务的核心组成部分,而“PDU短信编码解析大师”提供了一个直观且便捷的方式来处理这些编码,使得短信服务的开发和测试变得更加容易。无论是个人用户还是专业开发者,都可以从中受益。
编码的选择和设置直接影响到短信内容能否正确传输和解析。在实际应用中,开发者需要根据具体需求选择合适的编码方式,并按照PDU模式的规则正确构建和解析PDU字符串。 总的来说,PDU编码是短信通信中的一个重要技术...
总结来说,短信PDU编码和解码是GSM网络中短信传输的核心技术,涉及到电话号码、短信内容、短信类型等关键信息的二进制编码和反向解析。这个过程虽然复杂,但却是保证短信能够在不同设备间准确无误传递的基础。通过...