3

メインアプリケーションのOnCreateが実行されているかどうかを知りたいということで、Androidライブラリを作成していますか? . oncreate がリスナーを起動するかどうかはわかりません。oncreate がリスナーを起動することは誰でも知っています。何か案は?ありがとう。

4

1 に答える 1

1

いいえ、このコールバックは存在しません。

ほとんどのライブラリがこのコールバックを導入する方法は、別のアプリケーションがコールバックする必要がある基本型を作成することです。ライブラリに次のようなことをさせることができるように:

public class MyLibBaseApplication extends Application {

   public void onCreate() {
      super.onCreate();
      // my callback stuff.
   }
}

次に、ライブラリのすべてのユーザーが、マニフェストで Application オブジェクトを Application クラスとして使用または拡張する必要があります。ただし、これを行うライブラリがいくつかありますが、この方法は開発者にとってはちょっと面倒です。この同じパターンで複数のライブラリを使用することをブロックします(非常に迷惑です)。

個人的には、ライブラリを使用している人からのコールバックを求めるだけで、ライブラリを統合するクライアントや開発者からのほうがおそらくはるかに優れていると思います。

次のような単純な呼び出しまたは静的関数です。

public class MyApplication extends Application {

    public void onCreate() {
       super.onCreate();
       //register
       YourLibrary.onCreateFired(this);
       // or istantiate and register
       YourLibraryCallback cb = new YourLibraryCallback(this);
       cb.onCreateFired();
    }
}

この方法が最も柔軟性を提供すると思います。

于 2012-10-13T05:23:00.417 に答える