필자는 Parcelable Android 클래스를 생성하기 위해 AutoValue 확장을 사용하고 있습니다. 문서는 특히 하나 @AutoValue가 서로를 확장 할 수 있다고 ". 당신은 일반 필드가있는 경우, 당신은 둘 다 구현이 구현하는 인터페이스에 넣을 수 있습니다" https://github.com/google/auto/blob/master/value/userguide/howto.md#inherit어떻게 AutoValue 클래스를 서브 클래스 화합니까?
또 다른 개발자가 이것 좀 도와 및 제안되었다 저는 이것이 라이브러리가 상속에 비해 작곡을 선호한다는 것을 의미합니다.
나는 인정하지만, 나는 길을 잃었다. 누군가가 AutoValue 클래스를 "서브 클래스 화"하는 가장 간단한 방법의 간단한 예를 제공 할 수 있다면 그것은 인정 될 것입니다. 여기에 간단한 클래스가 있습니다 :
@AutoParcelGson
public abstract class User implements Parcelable {
public abstract String username();
public static User create(String username) {
return builder().username(username).build();
}
public static Builder builder() {
return new AutoParcelGson_User.Builder();
}
@AutoParcelGson.Builder
public interface Builder {
Builder username(String username);
User build();
}
}
고객이라고하는 또 다른 @AutoValue 클래스에는 추가 필드가 몇 개 있습니다. 또한 @AutoParcelGson은 내가 사용하고있는 @AutoValue 확장이지만 동일한 동작입니다.