zoukankan      html  css  js  c++  java
  • XMPP个人信息展示

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

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

     

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

     

     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关联。连接输出口

     

     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 ;

      效果图例如以下:

     

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

     

      点击改动调用方法就可以

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

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

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

    作者:杰瑞教育
    出处:http://blog.csdn.net/jerehedu/ 
    本文版权归烟台杰瑞教育科技有限公司和CSDN共同拥有,欢迎转载,但未经作者允许必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
  • 相关阅读:
    linux会话浅析
    linux memory lock浅析
    浅谈动态库符号的私有化与全局化
    LINUX内核内存屏障
    linux内存屏障浅析
    linux内核mem_cgroup浅析
    记一个linux内核内存提权问题
    linux内核cfs浅析
    linux内核tmpfs/shmem浅析
    linux IPv4报文处理浅析
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5176105.html
Copyright © 2011-2022 走看看