在 smack 中设置 vcard 中的名字时出现 NullPointerException
Posted
技术标签:
【中文标题】在 smack 中设置 vcard 中的名字时出现 NullPointerException【英文标题】:NullPointerException while setting firstname in vcard in smack 【发布时间】:2017-07-12 09:53:12 【问题描述】:在 vcard 中设置名字时获取 NullPointerException 当我设置昵称时它工作正常但是当设置名字时得到空指针异常
我正在使用此代码
VCard vCard = null;
VCardManager vCardManager = VCardManager.getInstanceFor(conn);
try
vCard = vCardManager.loadVCard();
try
vCard.setNickName(imageurl);
vCard.setFirstName("Scheller");
vCard.save(conn);
catch (Exception e)
e.printStackTrace();
catch (SmackException.NoResponseException e)
e.printStackTrace();
catch (XMPPException.XMPPErrorException e)
e.printStackTrace();
catch (SmackException.NotConnectedException e)
e.printStackTrace();
在 setFirstName 上它因这个异常而崩溃
java.lang.NullPointerException exception. Cannot evaluate org.jivesoftware.smackx.vcardtemp.packet.VCard.toString()
【问题讨论】:
我不熟悉 smack,但是在这行vCard.setFirstName
中,这看起来非常不规则。
在询问异常原因时始终显示完整的堆栈跟踪!
【参考方案1】:
1.代替:
VCard vCard = null;
尝试创建一个新的 VCard 对象:
VCard vCard = new VCard();
2.also 而不是这两行:
VCardManager vCardManager = VCardManager.getInstanceFor(conn);
vCard = vCardManager.loadVCard();
这样做:
vCard.load(conn);
看看对你的问题有没有帮助
【讨论】:
以上是关于在 smack 中设置 vcard 中的名字时出现 NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Excel VBA 中设置 RefersToRange 属性时出现问题
在supervisord中设置环境变量时出现Python键错误
在 clickhouse 中设置缓存字典时出现 OOM 错误