XMPP个人信息展示

XMPP个人信息展示

大家好,又见面了,我是全栈君。

  在现阶段的通信服务中。各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现。实现了整个及时通信服务协议的互通。有了这个协议之后,使用不论什么一个组织或者个人提供的即使通信服务,都可以无障碍的与其它的及时通信服务的用户进行交流。比如google 公司2005年推出的Google talk就是一款基于XMPP协议的即时通信软件。以下我们就谈论一下怎样简单的使用XMPP的好友和个人电子名片

 1、在XMPPFramework.h中将须要用到的头文件打开

 XMPP个人信息展示

 2、在storyboard创建电子名片的页面

 XMPP个人信息展示

 3、定义数据存储和电子名片模型属性而且进行初始化

//电子名片
@property (strong,nonatomic) XMPPvCardTempModule * vCardModule;

//电子名片存储
@property (strong,nonatomic) XMPPvCardCoreDataStorage *vCardStorage;

   //初始化卡片存储
        self.vCardStorage=[XMPPvCardCoreDataStorage sharedInstance];
        //初始化花名冊存储
        self.rosterStorage=[[XMPPRosterCoreDataStorage alloc] init];
   //激活当前的电子名片
        [self.vCardModule activate:self.stream];

 4、创建相应的类,而且和电子卡片的storyboard关联。连接输出口

 XMPP个人信息展示

 5、获取当前的人员电子卡片

//获取vcard卡片信息即个人信息
    AppDelegate * delegate=[UIApplication sharedApplication].delegate;
    
    XMPPvCardTemp *vcard = [delegate.vCardModule myvCardTemp];

    //假设电子卡片信息不存在须要又一次设置
    if (vcard==nil) {
        vcard=[XMPPvCardTemp vCardTemp];
        vcard.nickname=[[NSUserDefaults standardUserDefaults] objectForKey:@"userName"];
    }
    
    if (vcard.jid==nil) {
        XMPPJID * jid=[XMPPJID jidWithString:[[NSUserDefaults standardUserDefaults] objectForKey:@"userName"]];
        vcard.jid=jid;
    }
 
    //更新一下改动的数据
[delegate.vCardModule updateMyvCardTemp:vcard];

 6、将电子卡片的信息展示到UI界面

    //将电子名片的信息展示到UI
    
    self.jrImage.image=[UIImage imageWithData:vcard.photo];
    self.name.text=vcard.nickname;
    self.jid.text=vcard.jid.full;
    
    self.email.text=vcard.mailer;
    self.company.text=vcard.orgName;
    self.depart.text=[vcard.orgUnits firstObject];
    self.post.text=vcard.title;
    self.tel.text=vcard.note ;

  效果图例如以下:

 XMPP个人信息展示

 6、改动电子卡片。涉及到个人信息的改动。这里我们须要又一次做UI

 XMPP个人信息展示

  点击改动调用方法就可以

//更新一下改动的数据
[delegate.vCardModule updateMyvCardTemp:vcard];

 

  想要了解很多其它内容的小伙伴。能够点击查看源代码,亲自执行測试。

  疑问咨询或技术交流。请增加官方QQ群:JRedu技术交流 (452379712)

 

作者:
杰瑞教育

出处:
http://blog.csdn.net/jerehedu/ 


本文版权归烟台杰瑞教育科技有限公司和CSDN共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116084.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Textmate调试Python「建议收藏」

    Textmate调试Python「建议收藏」转http://phaibin.72pines.com/2011/08/11/textmate%E8%B0%83%E8%AF%95python/[code="java"]Textmate调试Python要让Textmate调试Python的时候在光标停在编辑器里面,类似XCode的效果,需要安装PdbTextMateSupport。方法是:sudoeasy_installP…

    2022年7月12日
    30
  • 搜索优化_百度搜索关键词

    搜索优化_百度搜索关键词一个网站其实很简单,但难的是在于那些搜索引擎如(google,yahoo,msn等)如何找到你,并提高排名!最近,我总结了7条最新、最重要的注意事项1.网站优化是为了访问者,而不是针对搜索引擎。  这一点是做网站的终极目标,请牢记这一点。搜索引擎优化要考虑用户体验,用户体验这个东西最重要的了,我们做站就是为了客户所以用户体验是非常重要是第一位的。其次在用户体验的基础之上很好地进行搜

    2025年7月29日
    4
  • addslashes() 函数返回在预定义字符之前添加反斜杠的字符串

    addslashes() 函数返回在预定义字符之前添加反斜杠的字符串

    2021年10月12日
    46
  • docker-compose 集群_dockercompose作用

    docker-compose 集群_dockercompose作用前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年7月30日
    8
  • tomcat java_maven和tomcat的关系

    tomcat java_maven和tomcat的关系缓存什么是缓存[Cache]存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据的时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存减少和数据库的数据交换次数,较少系统开销,提高系统效率什么样的数据库能使用缓存经常查询并且不经常改变的数据Mybatis缓存MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。默认情况下,只启用了本地的会话缓存,它仅

    2022年8月8日
    8
  • win7打印共享无访问权限_win7连不上共享打印机

    win7打印共享无访问权限_win7连不上共享打印机平时我们在设置网络共享打印机的时候,可能会遇到没有权限访问的情况,下面和大家分析一下如何解决该问题。一、系统环境WIN7二、没有权限访问的原因原因就是:安装打印机的那台WIN7电脑,设置了开机的帐户和密码,所以导致其它计算机没有权限访问。所以得使用下面的办法解决。三、解决办法在安装打印机的电脑上,进行如下的操作即可。首先,在运行那里输入gpedit.msc并回车。如下图。在打开的界面中,如下图一样…

    2025年6月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号