4

プロジェクト A とライブラリ プロジェクトを使用して Android アプリを開発しています。これらのプロジェクトには両方ともアクティビティがあります。現在プロジェクト A にいる場合、ライブラリ プロジェクトをインポートするだけで簡単にアクティビティを開始できます。ただし、ライブラリ プロジェクトのアクティビティから来ている場合、プロジェクト A でアクティビティを開始する方法がわかりません。複数のアプリで使用するため、ライブラリ プロジェクトをプロジェクト A のパッケージ名から独立させようとしています。これを行う方法についてのアイデアはありますか?ありがとう。

4

4 に答える 4

4

考えられる解決策はいくつかあります。

最善の方法は、他のプロジェクトからアクセスできるようにしたいアクティビティのマニフェスト エントリにインテント フィルターを登録することです。インテント フィルターに関する優れたチュートリアルがここにあります。

もう 1 つのオプションは、Class をライブラリ プロジェクトに渡し、Intent (Context packageContext, Class cls)コンストラクターを使用して、アクティビティを起動して開始するインテントを作成することです。ただし、インテント フィルターを使用する方が、より良い実践と学習体験になります。

幸運を!

于 2012-08-20T14:43:56.657 に答える
3

これが最も簡単な答えだと思います。ライブラリに存在するオブジェクトが必要であり、プロジェクトで拡張できます。

あなたのライブラリに、ProjectApplicationが拡張するLibraryApplicationがあると想像してください。LibraryActivityは以下を呼び出すことができます。

((LibraryApplication)getApplication()).startNewActivity(this, "goHome")

ProjectApplicationは、次の新しいメソッドを実装します。

public void startNewActivity(Context context, String action) {
    if("goHome".equals(action)) {
        startActivity(context, ProjectHomeActivity.class);
    }
}
于 2012-08-20T14:50:13.280 に答える
1

プロジェクトを外部ライブラリとして追加できます。また、この種のものにはmavenを使用できます。

于 2012-08-20T14:44:59.293 に答える