当前位置: 首页 > 面试题库 >

如何在Android中使用Smack 4.1?

易流觞
2023-03-14
问题内容

在Smack 4.1之前,必须依靠aSmack。从4.1开始,Smack将在Android上本地运行。我有几个“入门”问题。

问题1:
如何在Eclipse的Android项目中包含Smack 4.1?
https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-Upgrade-
Guide上

的说明似乎适用于Android Studio

问题2:
Android的代码会保持不变吗?
我在这里指的是他们的官方文档:https
:
//www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html
我想知道的是,API的使用是否会保持不变Android也是如此。


问题答案:

如何在Eclipse的Android项目中包含Smack 4.1?

就像您将在Eclipse Android项目中包括任何其他Java库一样。通过将.jar文件放在libs/目录中,Eclipse的Android插件
Android Ant构建系统将使它们可用于项目的类路径,并将它们包括在结果中.apk

Smack
4.1的特点是,它高度模块化。如果要在Android上使用功能齐全的Smack,则需要大约11个.jar文件。现在,您可以通过gradle使用Android
Studio,这种方式包括添加Smack,就像添加

dependencies {
  compile "org.igniterealtime.smack:smack-android:4.1.0-rc1"
  compile "org.igniterealtime.smack:smack-tcp:4.1.0-rc1"
  // optional features
  compile "org.igniterealtime.smack:smack-android-extensions:4.1.0-rc1"
}

并且gradle将解决传递依赖。

但是 ,Android Studio或确切地说是Android gradle插件不支持带有源附件的下载和调试1。这是使用开源库时明确想要的。

例如,这就是我自己不使用gradle插件的原因之一。那时我无法开发Smack(我也喜欢Eclipse,但这是另一回事)。

因此,我们将在Android项目中与Eclipse / Ant合作。Smack 4.1自述文件告诉您使用MavenToAndroidAnt
Python3脚本,该脚本将自动下载工件并在更新时删除旧的工件。如果将其挂接到构建过程中,它几乎与使用gradle一样好,
而且还支持源附件

当然,您也可以.jar手动添加11个文件,但是谁愿意这样做,并且在其源存储库中有二进制文件?

Android的代码会保持不变吗?

是的,从Smack
4.1开始,Smack是Smack。因此,无论您是否使用Android,都可以引用相同的javadoc。请注意,aSmack也是如此,因为它只是Smack到Android的移植。

1:如果我错了,请纠正我,但是上次尝试不可行。同时,情况可能会好转。



 类似资料:
  • 问题内容: 我想在Android设备上使用。该断言似乎不起作用,因此我在网上搜索后发现了这种本地解决方案: 亚行外壳setprop debug.assert 1 它确实可以在我的本地计算机上运行。 我想使用我的Eclipse项目运行此命令(因此它将在源代码控件中)。我该怎么做? 问题答案: 断言无法在Android中运行,因为大多数情况下,一个人不是在调试模式下运行,而是运行一些优化的代码。因此,

  • 我试图使用VectorDrawable作为单选切换按钮,但在API 17级设备中出现了“invalid drawable tag vector”错误。 我在一个片段中使用它,我在包装片段的活动中将setCompatVectorFromResourcesEnabled设置为true。 另外,我设置了 在build.gradle 这是视图xml, 这是一个矢量图像内容 有什么方法可以在android中

  • 问题内容: 我问这个问题是因为我是Java和Android的新手,我花了数小时试图找出答案。答案来自一系列相关的答案,所以我想我会把自己学到的东西记录下来,以供其他可能挣扎的人使用。查看答案。 我正在使用Android Studio 2.1.2,并且我的Java设置如下: 问题答案: 注意:这个答案虽然在技术上是正确的,但是现在已经过时了 现在可通过Android Gradle插件4.0.0+获得

  • 它以异步方式运行。完成操作后,我想为TextView详细信息分配名称和填充。 在这种情况下,如何使用?

  • 问题内容: 我有点困惑,因为我不知道如何在这里解释该教程:http : //developer.android.com/training/basics/data- storage/databases.html#DbHelper 到目前为止,我的代码如下所示: 我的解释是否正确,或者Helper类中的前6个变量不在Contract类中?还是助手类不是合同类的内部类? 希望你能帮我 问题答案: 您的合

  • HomeFragment.java fragment_home 我看了其他问题。但我的应用程序不起作用。所以我想知道我是否需要修理我的主activity。所以我附上了主activity。 mainactivity.java 对不起,我英语不好。所以在翻译的帮助下...我第一次问了stackoverflow。 我在为韩国人做一个应用程序。但我在碎片上有些问题。 如果输入了webview,App将被关