2

開発者が使用する前にアプリケーションIDで初期化する必要があるjarファイルとして配布されているライブラリコードを書いています。初期化は、次のような単なる関数呼び出しです。

MyLibrary.initialize("16ea53b");

トリッキーなことは、この初期化呼び出しを行うように開発者に指示する方法がわからないことです。最初は、メインアクティビティの単一の静的初期化ブロックが最も簡単な方法だと思いました。問題は、ユーザーが他のアクティビティまたはインテントを介してアプリケーションに入る可能性があり、メインアクティビティが読み込まれないことです。アプリケーションの起動方法に関係なく、アプリケーションの起動時にコード行が実行されるようにする一般的な方法はありますか?

初期化呼び出しはべき等であるため、使用できるすべての場所でこの初期化呼び出しを行うように人々に指示することができますが、それは面倒です。

4

2 に答える 2

0

これは、Applicationを拡張するクラスを拡張して作成し、そこに配置することで解決できる問題のように聞こえます。これは、Application全体でグローバルです。

于 2011-07-18T22:18:37.363 に答える
0

簡単な方法の1つは、ライブラリコードが初期化されたときにSharedPrefencesに何かを保存することです。次に、重要と思われる場所で、この値を確認し、値が存在するかどうかを続行するか、初期化など(エラーメッセージなど)を要求します。これにより、開発者は複数回初期化する必要がなくなります。

この値をリセットするためのAPIを開発者に必ず提供してください。

また、Joshua Blochによる、役立つAPI設計についての良い話があります

于 2011-07-18T22:27:53.140 に答える