정말로 "그래프를 정적으로 저장"할 때 원하는 답변이 맞는지 확실하지 않지만 그다지 도움이되지 않을 수도 있습니다.
내가 현재 (클라이언트 용으로) 작업하고있는 라이브러리의 경우. 우리는 대신 사용자 지정 응용 프로그램 클래스의 객체 그래프를 유지하기 위해 다음과 같은 클래스를 사용하여 라이브러리를 사용하고자하는
통합이 (자신의 사용자 지정 응용 프로그램 클래스의에서 onCreate에서 일반적으로) 그 클래스를 구성 할 필요가
public final class MySdk {
private static ObjectGraph objectGraph;
public MySdk(String clientKey, Application application) {
objectGraph = new ObjectGraph();
objectGraph.buildGraph(clientKey, application);
}
public static Authentication getAuthentication(){
return getObjectGraph().get(Authentication.class);
}
private static ObjectGraph getObjectGraph(){
if (objectGraph == null) {
throw new IllegalStateException("The constructor must be called first");
}
return objectGraph;
}
}
이
Authentication authentication = MySdk.getAuthentication();
(ObjectGraph는 물론 원하는대로, 단검의 콤포넌트입니다 다음과 같이
public class CustomApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MySdk mySdk = new MySdk(BuildConfig.CLIENT_KEY, this);
}
}
그 후, 종속성 어디서나 사용할 수 있습니다 nent 또는 가정 재배. 우리는 Dagger2를 라이브러리에 넣고 싶지 않았기 때문에이 순간에 다음과 같이 사용합니다 : https://github.com/erdo/asaf-project/blob/master/example01databinding/src/main/java/foo/bar/example/asafdatabinding/ObjectGraph.java