Android SDK - 其他方式?

时间:2010-04-27 16:48:32

标签: android jar android-activity android-intent

如果我需要构建一个其他开发人员可以集成到他们的Android应用程序中的Android SDK,那么我的SDK是唯一可行的方法吗?据我所知,震动有以下几点:

  1. 如果您的应用使用布局,则必须以编程方式创建。由于jar文件不能携带任何资源。
  2. jar需要放在lib / assets文件夹中并添加到构建路径(在Eclipse中) - 在这里学到:Android - Invoke activity from within jar
  3. 主应用程序必须创建一个Intent对象,并在jar中指定包和类名以启动活动。
  4. 任何人都有其他想法进行上述任何步骤?

    由于 乔治

1 个答案:

答案 0 :(得分:1)

在我看来,创建一个JAR是一个非常糟糕的决定。 Android具有特定功能,仅适用于您正在寻找的类型。如果你的JAR:

  • 提供某种(结构化)数据供其他应用程序使用,使用ContentProvider;
  • 执行一些背景处理并将该处理的结果提供给其他应用程序,使用Service;
  • 提供了一个Activity,它可以从用户那里获得一些输入(或显示某些信息),最终处理它并将其返回给调用Activity,只需创建Activity和任何应用程序都可以启动Activity,只要它安装在手机上即可。

如果您使用上述三种解决方案之一,第三方应用程序将能够探测您的应用程序是否已安装,如果没有,则提示用户安装它。只有当您的应用程序不属于上述三个要点之一时,才应使用JAR。否则,使用ContentProviderServiceActivity提供:

  • 组件之间更加标准化的互动
  • 更好的可维护性 - 如果您更新SDK,则无需致电使用它的所有人,并告诉他们升级。
  • 无重复 - 如果您要提供JAR,并且将在设备上安装多个使用它的应用程序,则该设备上将存在多个JAR副本,因此使用的内存比以前多。如果您提供上述三个组件之一,则一个副本将满足所有需要使用它的应用程序。

同样,这些组件是由Android OS专门设计和提供的,用于创建此类SDK。如果真的 真的 必须使用,请仅使用JAR。否则,请提供标准化的ContentProviderServiceActivity并记录其使用方式(即如何使用/查询/整合)。