问题标签 [android-guava]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
319 浏览

android - Android 2.2:番石榴类的 java.lang.NoClassDefFoundError

我正在java.lang.NoClassDefFoundError: com.google.common.collect.SortedMultisets$NavigableElementSet使用Android 2.2设备。

我在 Android 2.2 模拟器上遇到了同样的崩溃

不过,我在Android 4.x设备上没有收到该错误。

我的build.gradle有:

为什么会这样?

0 投票
1 回答
1444 浏览

android - ImmutableMap 通过 Intent 时变成了 HashMap

我在一个 Android 项目中使用 Guava 集合。刚刚注意到以下行为:

Activity1

Activity2

执行后,第二个代码段中的代码将引发此异常:

java.lang.ClassCastException:java.util.HashMap 无法转换为 com.google.common.collect.ImmutableMap

所以在某些时候ImmutableMap变成了HashMap. 我想知道为什么会这样,我该怎么做才能避免这种情况?

PS如果我在构建/接收意图后立即打印它以调试输出:

0 投票
2 回答
1125 浏览

android - Guava EventBus 和 Singleton:同步

我对 Guava EventBus 的工作原理有疑问。我的对象已注册到 EventBus。在 10 秒的时间间隔内,消息被发送给他们,处理完成后,我将对象中的一些变量与单例值进行比较。根据某些标准,我更改了单例值。我在 Guava 文档中进行了一些研究,但没有找到任何有关同步问题的信息。

这是正确的方法吗?

带着敬意

0 投票
2 回答
99 浏览

java - collections.filter 会出错吗?

我尝试根据谓词过滤集合:

和:

我看到一个报价因此得到了“虚假”

但是,我稍后会在 arrayList 中看到它。

我是不是过滤错了?

在此处输入图像描述

0 投票
2 回答
1964 浏览

collections - Google Guava - Filter Multiple Inputs on Single Property

I just got into Google Guava and it seems like a powerful tool and I see how you can use Predicates and filter by a specific property. How you can also chain predicates in FluentIterable My question is what's the best way to filter for a single property.

For example, if I have a collection of Cars. How do I filter the Cars.getPaintColor() to give me cars that are in Black, Red, and Yellow? Creating 3 separate predicates and using FluentIterable seems clumsy. Especially in my use, I could want possibly 10+ filters on the same property and I wouldn't want to create 10 Predicates.

Thanks you!

Since I am using an List, I used copyOf instead of of when creating ImmutableSet.

I am not sure what to put in the second parameter of the compose. I am guessing it is something like this... in the CarObj class.

0 投票
2 回答
1501 浏览

android - 使用 Guava 达到极限的 Android 项目

我在一个 Android 项目中使用 Guava。我达到了 65k 方法限制,导致 gradle 构建失败。我发现这可以通过使用proguard来解决。我在发布版本上运行 Proguard,它工作正常。我不想在调试版本上运行 proguard,因为它使调试变得困难。我想知道是否有办法解决这个问题?我正在考虑的一个选择是构建一个本地 guava.jar 并将其定义为依赖项,而不是从 maven Central 中提取它。有一个更好的方法吗?

0 投票
0 回答
160 浏览

java - 过滤列出每个“x”项目的最佳方法

我有一个列表视图,我试图在这个列表视图中每 10 秒显示一个新的数据“页面”。

为此,我每 5 个项目对我的数据列表使用一种过滤器:

在这段代码的末尾,我有我的列表“页面”,其中包含最大大小为 5 的不同列表,例如:

所以我的目标是在这些页面上进行迭代,以每 10 秒显示一个新页面。就像一本书使用 listView 和一个适配器来浏览它的页面。

我有一个计时器,它每 10 秒调用一次我的适配器并交换我的数据以更新接口:

目前一切正常,但每次我都必须重新创建一个新列表来完成这项工作。

我想知道是否有解决方案只在我的“listToFilter”上使用过滤器(我没有使用 java8),而不是通过这个复杂的自定义过滤器,它每次都重新创建一个新列表。

编辑:

我找到了一种通过使用Range和番石榴来管理它的方法。您可以定义要在列表中浏览的项目范围。但目前我还不确定如何使用它并使用自定义对象迭代您的范围列表。

0 投票
1 回答
343 浏览

gradle - 如何将番石榴库包含到我的输出 jar 中?

我的 build.gradle 中有以下依赖项:

它在编译期间工作,并为我的源代码生成输出 jar(它使用来自 guava 库的 com.google.common.collect.Maps 等类)。

我有一个将输出 jar 转换为 dex 文件的 dex 任务:

问题是输出 jar 没有 guava 依赖项,所以当它转换为 dex,推送到 android 设备并在那里运行时,我得到 java.lang.ClassNotFoundException: 找不到类 com.google.common .collect.Maps

有没有办法让从我的其他源代码生成输出 jar 的 javaCompile 任务的输出 jar 中包含番石榴依赖项?非常感谢您!

0 投票
1 回答
268 浏览

java - Guava中没有SortedMultiMap?

我正在尝试找到一种方法来获得排序的多图。我检查了 Guava,它提供了两个单独的集合数据结构,它们结合起来可以解决我的问题。引人注目的是 SortedSetMultimap 不能包含相同的键,因为它是一个 Set 而 Multimap 在同一个符号中。那是怎么回事?

编辑

在 C++ 中,我有类似的东西,希望能告诉你我打算如何在 Java 中使用类似的功能:

用英语:我需要一个映射,其键是双精度对,引用值中包含的某些对象。该映射可以包含多个相同的键(发生相同的双数对),因此这需要是一个多映射或包。发生这种情况时,可以将元素插入到集合中,并且在选择顶部元素时,它应该返回其中之一(无论哪个都无所谓)。我需要集合是可变的,因为对于每次迭代,我都会选择较小的元素并将其从地图中删除。

0 投票
0 回答
113 浏览

java - 如何在 Android 上使用 Guava 验证用户输入?

在我的 Android 应用程序中,我使用某些表单来获取用户输入。

我需要验证这些输入以检查某些条件,例如:

  • 是空的
  • 是一个数字
  • ...

如何使用 google guava 验证用户输入?