问题标签 [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.
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
有:
为什么会这样?
android - ImmutableMap 通过 Intent 时变成了 HashMap
我在一个 Android 项目中使用 Guava 集合。刚刚注意到以下行为:
在Activity1
:
在Activity2
:
执行后,第二个代码段中的代码将引发此异常:
java.lang.ClassCastException:java.util.HashMap 无法转换为 com.google.common.collect.ImmutableMap
所以在某些时候ImmutableMap
变成了HashMap
. 我想知道为什么会这样,我该怎么做才能避免这种情况?
PS如果我在构建/接收意图后立即打印它以调试输出:
android - Guava EventBus 和 Singleton:同步
我对 Guava EventBus 的工作原理有疑问。我的对象已注册到 EventBus。在 10 秒的时间间隔内,消息被发送给他们,处理完成后,我将对象中的一些变量与单例值进行比较。根据某些标准,我更改了单例值。我在 Guava 文档中进行了一些研究,但没有找到任何有关同步问题的信息。
这是正确的方法吗?
带着敬意
java - collections.filter 会出错吗?
我尝试根据谓词过滤集合:
和:
我看到一个报价因此得到了“虚假”
但是,我稍后会在 arrayList 中看到它。
我是不是过滤错了?
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.
android - 使用 Guava 达到极限的 Android 项目
我在一个 Android 项目中使用 Guava。我达到了 65k 方法限制,导致 gradle 构建失败。我发现这可以通过使用proguard来解决。我在发布版本上运行 Proguard,它工作正常。我不想在调试版本上运行 proguard,因为它使调试变得困难。我想知道是否有办法解决这个问题?我正在考虑的一个选择是构建一个本地 guava.jar 并将其定义为依赖项,而不是从 maven Central 中提取它。有一个更好的方法吗?
java - 过滤列出每个“x”项目的最佳方法
我有一个列表视图,我试图在这个列表视图中每 10 秒显示一个新的数据“页面”。
为此,我每 5 个项目对我的数据列表使用一种过滤器:
在这段代码的末尾,我有我的列表“页面”,其中包含最大大小为 5 的不同列表,例如:
所以我的目标是在这些页面上进行迭代,以每 10 秒显示一个新页面。就像一本书使用 listView 和一个适配器来浏览它的页面。
我有一个计时器,它每 10 秒调用一次我的适配器并交换我的数据以更新接口:
目前一切正常,但每次我都必须重新创建一个新列表来完成这项工作。
我想知道是否有解决方案只在我的“listToFilter”上使用过滤器(我没有使用 java8),而不是通过这个复杂的自定义过滤器,它每次都重新创建一个新列表。
编辑:
我找到了一种通过使用Range和番石榴来管理它的方法。您可以定义要在列表中浏览的项目范围。但目前我还不确定如何使用它并使用自定义对象迭代您的范围列表。
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 中包含番石榴依赖项?非常感谢您!
java - Guava中没有SortedMultiMap?
我正在尝试找到一种方法来获得排序的多图。我检查了 Guava,它提供了两个单独的集合数据结构,它们结合起来可以解决我的问题。引人注目的是 SortedSetMultimap 不能包含相同的键,因为它是一个 Set 而 Multimap 在同一个符号中。那是怎么回事?
编辑
在 C++ 中,我有类似的东西,希望能告诉你我打算如何在 Java 中使用类似的功能:
用英语:我需要一个映射,其键是双精度对,引用值中包含的某些对象。该映射可以包含多个相同的键(发生相同的双数对),因此这需要是一个多映射或包。发生这种情况时,可以将元素插入到集合中,并且在选择顶部元素时,它应该返回其中之一(无论哪个都无所谓)。我需要集合是可变的,因为对于每次迭代,我都会选择较小的元素并将其从地图中删除。
java - 如何在 Android 上使用 Guava 验证用户输入?
在我的 Android 应用程序中,我使用某些表单来获取用户输入。
我需要验证这些输入以检查某些条件,例如:
- 是空的
- 是一个数字
- ...
如何使用 google guava 验证用户输入?