私は自分のライブラリプロジェクトに乗っているプロと無料のバージョンを持っています。プロバージョンと無料バージョンにはコードがありません。いくつかの代替リソース。今、私はプロにいくつかの活動を含めたいと思います。では、ライブラリコードから、これらの新しいプロアクティビティを呼び出すにはどうすればよいですか?コントロールはライブラリコードで開始されるため、プロからリスナーなどを設定する機会はありません。これらの新しいアクティビティの絶対クラス名を文字列としてライブラリプロジェクトのインテントに渡すことをお勧めします。これはおそらく初心者の質問ですが、私は多くの検索を行いました。ちょっとしたヒントが必要です。
2 に答える
私はあなたのセットアップがあなたがやろうとしていることの反対だと思います。ライブラリプロジェクトには、共通の共有コードが必要です。アプリのプロ/無料バージョンをお持ちの場合は、おそらく3つのプロジェクトが必要です。
- ProVersionプロジェクト
- FreeVersionプロジェクト
- 共有図書館プロジェクト
代替リソースは共有されていないため、それぞれが独自のプロジェクト(プロ/無料)に参加します。共有されるコードはすべて、ライブラリプロジェクトに入れられます。この設定では、共有ライブラリプロジェクトにあるすべてのコードを、メインプロジェクトの一部であるかのように使用できます。
あなたはそれを「インクルード」を持っていると考えることができます、それは基本的にライブラリプロジェクトが何であるかです。
わかった。ウィジェットの構成アクティビティを使用して、これを解決することができました。メインプロジェクトのウィジェットメタデータのマニフェストでオーバーライドされたxmlファイルを指定しました。プロプロジェクトに存在するこのオーバーライドされたxmlには、メインプロジェクトにのみ存在するアクティビティへのポインター(android:configure)がありました。
これでライセンスを実装することができました。プロバージョンでは、構成アクティビティがライセンスを処理します。無料版では、構成アクティビティはありません。