問題タブ [auto-value]

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 投票する
1 に答える
971 参照

android - AutoValue: ClassCastException: LinkedTreeMap をキャストできません

まず、gson と autovalue-gson 拡張でレトロフィットを使用しています

ここをチェックしてください:https://github.com/rharter/auto-value-gson

APIには、APIがid、説明など、メッセージの配列を含むjsonを返す別のモデルがありますが、これらのメッセージは、必要なソーシャルメディアの種類(facebook、twitter、instagramなど)によって異なる場合があります。だから私はこのようなモデルを作りました:

ご覧のとおり、typetoken も AutoValue typeAdapter に渡しましたが、すべてが機能しているように見えます。既に json 全体をログに記録していますが、それをモデルとして使用しようとすると問題が発生します。

メソッド getList() は、これらのメッセージの配列を返します。これは、例外が発生している行です。

0 投票する
2 に答える
3972 参照

java - AutoValue クラスをサブクラス化するにはどうすればよいですか?

AutoValue 拡張機能を使用して、Parcelable Android クラスを生成しています。ドキュメントには、ある @AutoValue が別の @AutoValue を拡張できないことが具体的に記載されています: https://github.com/google/auto/blob/master/value/userguide/howto.md#inherit

別の開発者がこれを手伝ってくれて、「共通のフィールドがある場合は、両方の実装が実装するインターフェイスにそれらを配置できます」と提案しました。これは、ライブラリが継承よりも構成を優先していることを意味していると思います。

私は認めます、私はちょっと迷っています。誰かが AutoValue クラスを「サブクラス化」する最も簡単な方法の簡単な具体例を提供できれば幸いです。簡単なクラスを次に示します。

いくつかの追加フィールドを持つ Customer という別の @AutoValue クラスが必要です。また、@AutoParcelGson は私が使用している @AutoValue 拡張機能ですが、同じ動作です。

0 投票する
1 に答える
475 参照

android - 自動値で Retrofit 2.0 を使用する

ここからAutoValueライブラリを使用しようとしています

TypeAdapterFactoryWeb サービス呼び出しに Retrofit 2.0 を使用していますが、すべての Web サービス要求が HTTP 要求エラー 400 で失敗しました。さらに調査したところ、 を設定して Retrofit Builder に渡す必要があることがわかりました。

この回答は、Retrofit 2 で AutoValue を使用する方法で入手できますか?

しかし、gsonConverterFactoryそこで使われているのは

}

どこrawType.equals(SignIn.class)で使用されているので、私の質問は、の汎用バージョンを作成する方法はありますか、またはそれぞれの DTO を使用して Web サービス要求ごとAutoValueGsonTypeAdapterFactoryに個別に作成する必要がありますか??AutoValueGsonTypeAdapterFactory

前もって感謝します

0 投票する
2 に答える
1781 参照

android - AutoValue が Android プロジェクトで生成されたコンストラクターを見つけられない

Android プロジェクトでAutoValueを機能させるのに苦労しています。他の人にとってはうまくいっているように見えるので、何かが欠けているに違いありません。ジャックコンパイラを有効にしようとしましたが、役に立たないようです。

これは、ローカルでビルドすると失敗するデモ プロジェクトです。苦情はこのクラスAutoValue_Repoにあり、コンストラクターが見つかりません。

ここに私のプロジェクトレベルがありますbuild.gradle:

そして、私のモジュールレベルがありますbuild.gradle:

自動評価されていないクラスは次のとおりです。

ここに明らかな間違いはありますか?

0 投票する
2 に答える
776 参照

java - AutoValue の使用時に JSON を ArrayList に変換できない

や などにAutoValueを使用しています。getter/setterParcelable

オブジェクトの JSON 値を格納SharedPreferencesし、必要に応じて取得しています。SharedPreferencesただし、文字列として保存されているJSON配列を直接ArrayList<T>使用AutoValueできないため、に変換しようとすると例外がスローされConstructorます。

これが私が得ている例外です-

Model/AutoValueクラスは次のようになります-

JSON配列文字列を変換しようとするクラスはArrayList<T>次のようになります-

この行で例外がスローされます -


編集:AutoValue-Extensions私のAndroidプロジェクトにはいくつかあります。

アプリ は次のbuild.gradleようになります -

0 投票する
1 に答える
955 参照

android - Android、自動値パラメータ値の編集

オブジェクトに Google Auto-value を使用しており、Builderクラスとcreateメソッドを使用してオブジェクトを初期化しました。オブジェクトを再度初期化せずにオブジェクトの特定のパラメータを編集するにはどうすればよいですか?

今私のコードでは、nameプロパティを変更したい(tにはデータが含まれています):