制作一个 Android 项目的组件,以便在另一个 android 项目中使用它
Posted
技术标签:
【中文标题】制作一个 Android 项目的组件,以便在另一个 android 项目中使用它【英文标题】:Make a Component of Android Project for use it inside another android project 【发布时间】:2015-08-25 06:40:59 【问题描述】:我将尝试解释我所了解的并希望清楚。
我有一个现有的 android 项目(项目 A)和第三家公司开发的 android 项目(项目 B)(具有不同的包),应该集成到我的项目中。因此,从我的项目 (A) 的一个按钮中,我必须打开项目 B 的一个活动,并传递一个参数。
我不知道该怎么做。
我尝试的解决方案如下。 通过 Manifest 中的项目 (B),我删除了带有“android.intent.category.LAUNCHER”的活动,并设置为响应某个意图。然后我在我的项目 A 中创建了一个项目引用 B。按钮和项目的启动旨在设置我并且一切正常。 (见这里:launch activities from different package) 问题是在手机中将安装这两个项目。只有项目 A 在菜单中可见,但在应用程序列表中两者都存在。这件事应该避免。
我的第二次尝试是将项目 (B) 导出到 Jar 中,然后将其作为内部或外部 Jar 包含在我的项目中。但在这种情况下,我无法创建打开项目 B 活动的意图 这些是我的一些尝试:
Intent 意图 = new Intent("applicationB.intent.action.Launch"); 开始活动(意图);
//或
Intent 意图 = new Intent(MainActivity.this, ActivityInizio.class); 开始活动(意图); //(项目B的activity中的ActivityInizio,即从Jar导入到我的项目中)
//或
意图intent2 = new Intent(); intent2.setComponent(new ComponentName("aa.bbb.ccc","aa.bbb.ccc.activity.ActivityInizio")); startActivity(intent2);
无论我尝试什么,我总是得到 ClassNotFoundException 或类似的东西。
如何实现我的目标,将第二个项目包含在我的项目中,然后能够正确使用它? 谁能帮帮我?
谢谢。
【问题讨论】:
【参考方案1】:您可以将该项目用作项目的库。
只需创建一个库项目(项目 B)。然后将项目 B 作为库添加到项目 A。
一些有用的资源:
Getting started with android library project
How to add a Library Project to a android project?
how to start activity defined in library project
Starting Activity from Android-Library-Project
【讨论】:
我到底应该怎么做? B项目必须具有特殊性吗?或者它可能是一个普通的Android项目?项目 B 必须导出?如何?我使用日食以上是关于制作一个 Android 项目的组件,以便在另一个 android 项目中使用它的主要内容,如果未能解决你的问题,请参考以下文章
在后台从 React 组件制作 HTML 字符串,如何在另一个 React 组件中通过危险的SetInnerHTML 使用该字符串