Android 如何从aSmack迁移到Smack

Android 如何从aSmack迁移到Smack,android,xmpp,smack,asmack,Android,Xmpp,Smack,Asmack,在我的android应用程序中 如何在Smack 4.1中设置消息标记的自定义属性?我试图设置xmlns,但没有这样的方法。还有别的选择吗 另外,请帮助我学习Smack 4.1中的CarbonManager课程。从asmack迁移到Smack 4.1时,Carbon Manager类显示错误 对于第一个问题,smack有一个名为JivePropertiesManager的类,其中包含一个静态方法addProperty,您可以使用它来执行您想要执行的操作 public static void ad

在我的android应用程序中

  • 如何在Smack 4.1中设置消息标记的自定义属性?我试图设置xmlns,但没有这样的方法。还有别的选择吗

  • 另外,请帮助我学习Smack 4.1中的CarbonManager课程。从asmack迁移到Smack 4.1时,Carbon Manager类显示错误


  • 对于第一个问题,smack有一个名为JivePropertiesManager的类,其中包含一个静态方法addProperty,您可以使用它来执行您想要执行的操作

    public static void addProperty(Stanza packet, String name, Object value) {
        JivePropertiesExtension jpe = (JivePropertiesExtension) packet.getExtension(JivePropertiesExtension.NAMESPACE);
        if (jpe == null) {
           jpe = new JivePropertiesExtension();
           packet.addExtension(jpe);
        }
        jpe.setProperty(name, value);
    }
    
    该方法可以为SMACK的节添加属性(消息扩展了它)


    对于第二个问题,请发布您的代码或有关错误的更多详细信息。

    对于第一个问题,smack有一个名为JivePropertiesManager的类,其中包含一个静态方法addProperty,您可以使用它来执行您想要执行的操作

    public static void addProperty(Stanza packet, String name, Object value) {
        JivePropertiesExtension jpe = (JivePropertiesExtension) packet.getExtension(JivePropertiesExtension.NAMESPACE);
        if (jpe == null) {
           jpe = new JivePropertiesExtension();
           packet.addExtension(jpe);
        }
        jpe.setProperty(name, value);
    }
    
    该方法可以为SMACK的节添加属性(消息扩展了它)

    对于第二个问题,请发布您的代码或有关错误的更多详细信息