2016-03-30 11 views
5

私はログインアクティビティと、stylemanifestIntentServiceなどで構成されたAndroidスタジオプロジェクト を持っています。別のプロジェクトにアクティビティを挿入する正しい方法は何ですか?

この小さなプロジェクトを他の多くのアプリに挿入したいのですが、どのような方法を進めるのですか? モジュールは正しいですか?

究極の目標は、メンテナンスが容易にまだ一日、サーバがURLを変更する必要がある場合、私はあなたが抽出する必要が:-)

答えて

6

このログインアクティビティを使用するすべてのアプリケーションに変更を加える必要はありませんなど別のmoduleでこれらのコンポーネント:

モジュールをコンパイルすることができます機能、 実行、テストおよびデバッグの別個の単位が独立しています。

モジュールには、特定のタスクに必要なものがすべて含まれています。 ソースコード、ビルドスクリプト、単体テスト、デプロイメント記述子、および のマニュアル。ただし、モジュールは存在し、プロジェクトのコンテキストでのみ機能します。

次に、それを使用するすべてのプロジェクトでinclude that module

実際には、独自のモジュール"library" projectでモジュールを作成することができます。それを使用しているすべてのプロジェクトではadd it as a dependencyです。

さらに進んで、オープンソースライブラリプロジェクトの出力を.aarまたは.jarとして、maven central、jcenterおよびその他のパブリックリポジトリに公開することができます。他の人もあなたのモジュールを使用することができます。

アンドロイドライブラリプロジェクトを作成するときに覚えておくべきいくつかの重要なポイント:

  1. ライブラリのリソース(文字列、レイアウト、XMLS、画像)は、ビルドの最終的なプロジェクトのものとマージされます。あなたのモジュールのRクラスはあなたのモジュールのパッケージ名のままになります。

  2. ライブラリのマニフェストファイルの属性の一部が、最終プロジェクトの属性(<application>など)にマージされる場合があります。したがって、ライブラリモジュールには、最小限のマニフェストファイル(パッケージ名のみ)が必要です。

  3. サンプルアプリケーションプロジェクトをライブラリモジュール内に含めることができますが、は、サンプルアプリケーションプロジェクトをライブラリで再割り当てしません。あなたのライブラリを使ってアプリケーションを構築している人には問題が発生します。

    は、次に、あなたの新しいプロジェクトに移動して、元の1をインポート

    ファイル>>エクスポート:

+0

ありがとうございます!素晴らしい説明、それは素晴らしい作品 – marco

0

私はあなたが何をする必要があるか、最初に元のプロジェクトをエクスポートすることであると思います。 元のアクティビティ(インポートしたもの)を指すようにsetContentView()メソッドを修正することを忘れないでください。

最後に、あなたの意図のメソッドを忘れてしまいます! 問題がある場合はお知らせください。詳細な回答を作成しますが、大丈夫と思います!

関連する問題