問題タブ [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 : Guava クラスの java.lang.NoClassDefFoundError
Android 2.2デバイスを使用java.lang.NoClassDefFoundError: com.google.common.collect.SortedMultisets$NavigableElementSetしています。
Android 2.2 エミュレーターでも同じクラッシュが発生します
ただし、 Android 4.xデバイスではそのエラーは発生しません。
私build.gradleは持っています:
なぜこうなった?
android - ImmutableMap は、Intent を通過すると HashMap に変換されます
Android プロジェクトで Guava コレクションを使用しています。次の動作に気付きました。
でActivity1:
でActivity2:
2 番目のスニペットのコードが実行されると、次の例外がスローされます。
java.lang.ClassCastException: java.util.HashMap を com.google.common.collect.ImmutableMap にキャストできません
したがって、ある時点でImmutableMapに変わりHashMapます。それはなぜなのか、これを回避するにはどうすればよいのでしょうか。
PSインテントを構築/受信した直後にこれをデバッグ出力に出力すると:
android - Guava EventBus と Singleton: 同期
Guava EventBus の動作原理について質問があります。私のオブジェクトは EventBus に登録されています。10 秒間隔でメッセージが送信され、そこで処理が行われ、オブジェクト内の変数とシングルトン値を比較します。いくつかの基準によって、シングルトン値を変更します。Guava のドキュメントを調べましたが、同期の問題に関する情報は見つかりませんでした。
これは正しい方法ですか?
よろしく
collections - Google Guava - 単一のプロパティで複数の入力をフィルタリングする
Google Guava に入ったばかりで、強力なツールのように思えます。Predicates を使用して特定のプロパティでフィルター処理する方法がわかります。私の質問で述語を連鎖させる方法FluentIterableは、単一のプロパティをフィルタリングする最良の方法です。
たとえば、車のコレクションがあるとします。Cars.getPaintColor() をフィルタリングして、黒、赤、および黄色の車を取得するにはどうすればよいですか? 3 つの別個の述語を作成して FluentIterable を使用するのは、扱いにくいようです。特に私の使用では、同じプロパティに 10 個以上のフィルターが必要になる可能性があり、10 個の述語を作成したくありません。
ありがとうございます!
リストを使用しているため、ImmutableSet を作成するときcopyOfに代わりに使用しました。of
構成の 2 番目のパラメーターに何を入力すればよいかわかりません。私はそれがこのようなものだと推測しています... CarObj クラスで。
android - Guava が限界に達している Android プロジェクト
Android プロジェクトで Guava を使用しています。Gradle ビルドに失敗する 65k メソッドの制限に達しています。これは、proguard を使用することで解決できることがわかりました。リリース ビルドで Proguard を実行すると、正常に動作します。デバッグが難しくなるため、デバッグビルドでproguardを実行したくありません。これを解決する方法があるかどうか疑問に思っていましたか?私が検討している 1 つのオプションは、ローカルの guava.jar をビルドし、それを Maven Central からプルする代わりに依存関係として定義することです。これを行うより良い方法はありますか?
java - 「x」項目ごとにリストをフィルタリングする最良の方法
listView があり、このリストビューのデータの新しい「ページ」のように 10 秒ごとに表示しようとしています。
そのために、5 項目ごとにデータのリストに一種のフィルターを使用します。
このコードの最後に、最大サイズが 5 のさまざまなリストを含むリスト「ページ」があります。たとえば、次のようになります。
ここでの私の目標は、これらのページを繰り返し処理して、10 秒ごとに新しいページを表示することです。listView とアダプターを使用してページを閲覧する本のように。
アダプターを 10 秒ごとに呼び出し、データを交換してインターフェイスを更新するタイマーがあります。
現時点ではすべてが機能していますが、この仕事をするために毎回新しいリストを再作成する必要があります。
毎回新しいリストを再作成するこの複雑なカスタム フィルターを使用する代わりに、"listToFilter" でフィルター (私は Java8 を使用していません) を使用するだけの解決策があるかどうかを知りたいです。
編集:
グアバでRangeを使用してこれを管理する方法を見つけました。リストで参照するアイテムの範囲を定義できます。しかし、現時点では、それをどのように使用し、カスタム オブジェクトを使用して範囲リストを反復処理するかはまだわかりません。
gradle - 出力 jar にグアバ ライブラリを含める方法は?
build.gradle に次の依存関係があります。
コンパイル時に機能し、出力 jar がソース コード用に生成されます (グアバ ライブラリの com.google.common.collect.Maps などのクラスを使用します)。
出力jarをdexファイルに変換するdexタスクがあります:
問題は、出力 jar にグアバの依存関係がないことです。そのため、dex に変換され、Android デバイスにプッシュされてそこで実行されると、java.lang.ClassNotFoundException: 見つかりませんでしたクラス com.google.common が発生します。 .collect.Maps
他のソース コードから出力 jar を生成する javaCompile タスクの出力 jar に含まれる guava 依存関係を取得する方法はありますか? 事前にどうもありがとうございました!
java - グアバにSortedMultiMapはありませんか?
ソートされたマルチマップを取得する方法を見つけようとしています。私の問題を解決できる2つの別々のコレクションデータ構造を提供するGuavaをチェックしました。印象的なのは、SortedSetMultimap が同一のキーを含むことができないことです。これは、Multimap が同じシンボル内にある間は Set であるためです。どうしたの?
編集
C++ では、私は Java で同様の機能を使用する方法を教えてくれることを願っています。
英語で: 値に含まれる何らかのオブジェクトを参照する double のペアであるキーを持つマップが必要です。マップには同一の複数のキーが含まれる可能性があるため (2 つの数値の同じペアが発生します)、これはマルチマップまたはバッグである必要があります。これが発生すると、要素をコレクションに挿入できます。最上位の要素を選択すると、それらのいずれかを返す必要があります (どちらでもかまいません)。コレクションを変更可能にする必要があるのは、反復ごとに、より少ない要素を選択してマップから削除するためです。
java - Android で Guava を使用してユーザー入力を検証するにはどうすればよいですか?
私の Android アプリには、ユーザー入力を取得するために使用する特定のフォームがあります。
これらの入力を検証して、次のような特定の条件を確認する必要があります。
- 空です
- は数字です
- ...
Google guava を使用してユーザー入力を検証するにはどうすればよいですか?