返回顶部
首页 > 资讯 > 移动开发 >Android Mms之:联系人管理的应用分析
  • 629
分享到

Android Mms之:联系人管理的应用分析

联系Android 2022-06-06 10:06:54 629人浏览 薄情痞子
摘要

Contact联系人对Mms来说是十分重要的,因为每一个对话的收信人都是一个联系人,新建信息时可以输入联系人的任何信息,比如号码或名字,Mms都可以把信息发给相应的人。Mms中

Contact联系人对Mms来说是十分重要的,因为每一个对话的收信人都是一个联系人,新建信息时可以输入联系人的任何信息,比如号码或名字,Mms都可以把信息发给相应的人。Mms中的类Contact就是用来代表一个联系人,它含有联系人的信息,如名字,号码,联系人Id,是否存在于联系人数据库等等,同时Contact也提供了一些方法来获取Contact对象,Contact.get()方法来获取Contact对象。Contact会保持数据与联系人数据库的同步,有一个接口updateContact()用于通知联系人信息已经发生了改变。

Contact内部也有一个Cache,用于保存最近用到的联系人。因为外部在用Contact.get()方法来获取Contact时通常都只传给一个号码,并期望获取Contact。

Contact内部的Cache是由ContactCache类来创建和管理的。它内部还有一个TaskStack用于管理一些Runnable。因为每个从数据库中加载Contact都是一个单独的线程,这个TaskStack就是专门用于管理Runnable和,以Stack的方式来管理,也即FILO顺序的方式来运行Runnable任务。

ContactCache中有很多重载的get()方法用于获取Contact对象,其中都有一个布尔参数canBlock,这个是说是以阻塞调用者的方式来加载Contact还是以异步的方式来加载,另外一个参数就是联系人的号码。get()方法会先调用internalGet()方法,internalGet()会先试图从内部的CachemContactHash中获取Contact,如果不存在就用传入的号码新建一个Contact,总之它一定会返回一个联系人的。之后会进行updateContact()的动作,updateContact()就是放在一个Runnable线程中,如果调用者是可阻塞的,马上就运行这个Runnable来updateContact,如果是异步方式就把这个Runnable放到TaskStack中稍后运行。UpdateContact会调用getContactInfo来获取联系人的信息,getContactInfo会调用getContactInfoForSelf(),getContactInfoForPhoneNumber,getContactInfoForEmailAddress()来获取具体的联系人信息。其中如果这个号码是手机联系人自己本身,就获取本机的相关信息;如果号码是一个Email地址或者一个短号码,或者字符号码,那么就把号码作为一个Email地址来查询,也就是说把它作为联系人的Email字段匹配来查询;其他情况,也就是号码就是一个电话号码,把它与联系人的电话号码字段匹配查询。updateContact在查询完成后,会调用接口UpdateListener.onUpdate(),以告诉监听者,联系人已更新。因为联系人的获取过程中都是异步的,所以才会在更新完成后调用接口来通知。

内部的Cache的数据结构是一个HashMap<String,ArrayList<Contact>>,Key是以Contact内部的数据来生成的。InvalidateCache时并不会移除mContactsHash内部的数据,而是把其标识为Stale,当下次Get这个Contact时就会调用updateContact()来更新这个Contact。

您可能感兴趣的文章:Android编程之非调用系统界面实现发送彩信的方法(MMS)Android开发中使用mms模块收发单卡和双卡短信的教程Android Mms之:短信发送流程(图文详解)Android Mms之:接收信息流程(图文详解)Android Mms之:草稿管理的应用Android Mms之:深入MMS支持Android Mms之:深入理解对话列表管理Android Mms之:对话与联系人关联的总结详解Android Mms之:深入理解ComposeAndroid Mms之:PDU的使用详解简单掌握Android开发中彩信的发送接收及其附件的处理


--结束END--

本文标题: Android Mms之:联系人管理的应用分析

本文链接: https://lsjlt.com/news/27777.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android Mms之:联系人管理的应用分析
    Contact联系人对Mms来说是十分重要的,因为每一个对话的收信人都是一个联系人,新建信息时可以输入联系人的任何信息,比如号码或名字,Mms都可以把信息发给相应的人。Mms中...
    99+
    2022-06-06
    联系 Android
  • Android Mms之:草稿管理的应用
    当编辑完一条信息后,如果在没有发送的情况下退出编辑页面,那么信息会自动保存为草稿。也就是在ComposeMessageActivity的onStop()时,如果还没有发送,那么...
    99+
    2022-06-06
    Android
  • Android Mms之:对话与联系人关联的总结详解
    在Mms中每个Thread都有其相应的联系人,但是threads表中并没有直接保存联系人的信息(号码或名字),而是保存一个叫做recipient_id的东西,也还有一个类叫做d...
    99+
    2022-06-06
    联系 Android
  • Outlook应用指南(3)——联系人管
    我们在日常生活中,会将一些常用的电话记在电话本中,以便在需要时能够立即查阅。Outlook的“联系人”列表也具有相似的作用,你可以建立一些同事和亲朋好友的通讯簿,不仅能记录他们的电子邮件地址,还可以包括电话号码、联系地址和生日等各类资料。以...
    99+
    2023-01-31
    联系人 指南 Outlook
  • Android之联系人PinnedHeaderListView使用介绍
    Android联系人中的ListView是做得比较独特的,但是源码写得比较复制,当我们想使用他的时候再从源码中提取,实属不易啊,而且容易出错,这几天,我把他提取出来了,写成一个...
    99+
    2022-06-06
    联系 Android
  • 怎么用Java实现联系人管理系统
    本文小编为大家详细介绍“怎么用Java实现联系人管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Java实现联系人管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。基于eclipse做的一个简单...
    99+
    2023-06-29
  • Android开发之针对联系人的封装
    大家可能在做app的时候,或多或少需要使用联系人,而根据google提供的api,你需要编写大量的代码,例如首先需要查询数据库,涉及到数据库表和字段以及对应的SQL语句。 那么...
    99+
    2022-06-06
    联系 封装 android开发 Android
  • 绩效管理分析系统的应用及其效果分析
    绩效管理分析系统是一种专门用于分析和评估员工绩效的工具。它可以帮助企业进行有效的绩效管理,提高员工的工作效率和工作质量,从而提高企业的整体绩效。 一、绩效管理分析系统的应用绩效管理分析系统是通过对员工的工作表现进行定量和定性的分析,来评估...
    99+
    2023-11-22
    绩效管理 效果 系统
  • 如何在Android应用中调用系统联系人界面
    今天就跟大家聊聊有关如何在Android应用中调用系统联系人界面,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、添加联系人Intent addIntent =&...
    99+
    2023-05-31
    android roi
  • Android应用中怎么获取联系人的姓名与电话
    这期内容当中小编将会给大家带来有关Android应用中怎么获取联系人的姓名与电话,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现代码:<&#63;xml version="1.0...
    99+
    2023-05-31
    android roi
  • HTTP响应头的管理分析
    HTTP响应头的管理分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。为什么要讲HTTP头? 非常简单的通过HTTP头,可以让你的用户打开速度快10倍。 网上讲...
    99+
    2023-06-12
  • android开发教程之使用listview显示qq联系人列表
    首先还是xml布局文件,在其中添加ListView控件: 主布局layout_main.xml 代码如下:<RelativeLayout xmlns:android="...
    99+
    2022-06-06
    程之 列表 listview android开发 教程 Android
  • Win8 Modern风格的人脉应用如何添加联系人
      Win8系统自带Modern风格的人脉应用,是管理联系人的一个很简单实用的途径。那么大家知道Win8的人脉应用如何添加联系人吗   操作方法   1.在开始界面打开人脉应用。   2.点击右键,在底部...
    99+
    2022-06-04
    人脉 联系人 风格
  • Win8邮件应用快速获取人脉应用中联系人的方法
      Win8系统中,“邮件”和“人脉”都是Windows系统提供的Metro风格的应用,二者可以进行良好的互相配合。通过“人脉”应用,...
    99+
    2022-06-04
    人脉 联系人 邮件
  • 如何在Android应用中利用Intent实现获取联系人的信息
    今天就跟大家聊聊有关如何在Android应用中利用Intent实现获取联系人的信息,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Intent的使用intent是一个好东西他可以启动A...
    99+
    2023-05-31
    android intent
  • 在Android应用怎实现一个获取联系人电话的功能
    本篇文章给大家分享的是有关在Android应用怎实现一个获取联系人电话的功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。选择联系人............//构造一个隐式的I...
    99+
    2023-05-31
    android roi
  • Linux系统用户管理之/etc/group组文件的示例分析
    这篇文章将为大家详细讲解有关Linux系统用户管理之/etc/group组文件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Gro...
    99+
    2023-06-13
  • Android编程之重力感应用法分析
    本文实例讲述了Android编程之重力感应用法。分享给大家供大家参考,具体如下: 重力感应主要是依靠手机的加速度传感器(accelerometer)来实现 在Android的开...
    99+
    2022-06-06
    程之 重力感应 Android
  • Android编程之非调用系统界面实现发送彩信的方法(MMS)
    本文实例讲述了Android非调用系统界面实现发送彩信的方法。分享给大家供大家参考,具体如下: 一、问题: 最近有个需求,不去调用系统界面发送彩信功能。做过发送短信功能的同学可...
    99+
    2022-06-06
    程之 调用 界面 方法 彩信 系统 Android
  • PHP实现多对一通讯录:简单实用的联系人管理
    PHP实现多对一通讯录:简单实用的联系人管理 随着社交网络的普及,人们的社交关系变得越来越复杂,管理联系人信息也变得越来越重要。在这种背景下,开发一个简单实用的联系人管理系统变得尤为重...
    99+
    2024-03-15
    php 多对一 通讯录 社交网络 php编写
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作