(七)XMPP电子名片模块、头像模块

模块类的介绍 :
http://www.henishuo.com/xmpp-vcard/

楼上讲了他的属性和基本的介绍,我这里讲一下怎么去使用:

电子名片的模块内部是怎么实现的
》发送请求从服务器获取 电子名片数据(用户的个人信息)数据
》接收到服务器返回的 电子名片 数据后,把数据缓存到本地数据库


在Extensions中有XEP-0054扩展,提供了一种可以通过XMPP发送电子名片的机制。

讲了 这个模块的来处(XEP-0054)和 这个模块的基本流程现在开始讲怎么去使用它

XMPPvCardTemp 代表电子名片
XMPPvCardCoreDataStorage 代表电子名片在core data存储
XMPPvCardTempModule 用于提供电子名片增、删、改、查操作

1、打开和激活模块


#既然我们是在xmpp中使用这个模块,我们就去XMPPFramework.h中去打开这个模块相关的类

//电子名片
#import "XMPPvCardTempModule.h"
#import "XMPPvCardCoreDataStorage.h"

//电子名片头像
#import "XMPPvCardAvatarModule.h"

#激活模块 (激活过的模块在沙盒的Library文件下可以看到sqlite文件)

//创建电子名片模块
XMPPvCardCoreDataStorage *vCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
XMPPvCardTempModule *vCard = [[XMPPvCardTempModule alloc] initWithvCardStorage:_vCardStorage];
//激活
[vCard activate:_xmppStream]; //这里传入我们之前创建的xmppStream


//创建电子名片头像
 XMPPvCardAvatarModule *acatar = [[XMPPvCardAvatarModule alloc] initWithvCardTempModule:_vCard];
//激活
[acatar activate:_xmppStream];//这里传入我们之前创建的xmppStream

2、获取模块信息

#为什么电子名片的模型是temp
#####因为解析电子名片的xml没有完善,有此节点并未解析,所以称为临时
#####所以有些地方是要自己去解析

#在这个框架里 已经帮你写好了sql语句所以我们只需要用
/*
  vCard 是上面定义的 XMPPvCardTempModule 对象
*/
//获取电子名片
XMPPvCardTemp *cardTemp = vCard.myvCardTemp;

从XMPPvCardTemp对象获取所有想要的值  在顶上的网站有说每个属性分别是什么
cardTemp.photo
cardTemp.nickname
....等

3、修改电子名片(包括修改头像)

// 

这个API用于将电子名片存储到本地数据库,然后发送到服务器
- (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp

/*
  vCard 是上面定义的 XMPPvCardTempModule 对象
  cardTemp 是上面定义的XMPPvCardTemp
*/
//设置头像
cardTemp.photo = UIImageJPEGRepresentation(self.avatarImgView.image, 0.75);



[vCard updateMyvCardTemp:cardTemp];

你可能感兴趣的:((七)XMPP电子名片模块、头像模块)