Android可插拔应用程序

时间:2010-05-25 01:42:20

标签: android modularity

过去几周我一直在尝试创建一个Android应用程序,而且大多数事情都很好,但有一件事我想知道,那就是通过使用意图来实现可插拔性。 / p>

我想要创造的基本上是一个漫画读者。从我现在使用的版本开始,我打开应用程序并获取我最喜欢的commics列表,然后输入一个以获得详细视图,最后我输入一个页面。这是通过3项活动来管理的。列表,详细信息和页面。但是,到目前为止,应用程序只能读取一个源的漫画(从我的服务器提交的一个特殊的xml-feed),我希望能够扩展这一点(同样,页面活动和其他一些东西需要)要清理干净,所以我正在考虑从头开始重塑,而只是把它作为学习的第一步。我想出了一个我认为听起来很棒的想法,但我不知道是否可能,但这就是我在想的:

  1. 用户输入应用程序并获得(第一次空)漫画列表。
  2. 用户点击一个按钮来查找漫画,这会产生一种意图,就像“寻找漫画”或类似的东西。这应该导致系统显示所有匹配的活动。这样就可以通过不同的应用程序提供不同的漫画提供者。
  3. 另一个活动开始并可能会向用户显示一些选项(例如文件浏览器),或者可能不会(在xml-feed的示例中,应该只加载)。
  4. 该列表将返回到第一个活动并显示给用户。第二个(查找)活动已关闭。
  5. 用户从列表中选择漫画。这应该打开一些细节活动。细节活动应该收到与所选漫画相对应的键。这在漫画提供商中应该是独一无二的。详细信息视图应通过一些内容提供者或活动(最适合的,如果其中之一)来获取数据。
  6. 用户可以选择页面。这应该与步骤5的程序相同。
  7. 我的问题是,这在android系统中是否可行,如果是,那是不是一个坏主意?而且,有没有更好的方法来实现或多或少相同的东西?

1 个答案:

答案 0 :(得分:0)

您可以指定Intents来实现某些此类行为。 Intent是连接到某种服务的标识符。例如,如果您希望用户能够从您的应用程序共享某些内容,则可以使用ACTION_SEND意图。这将导致操作系统查看所有应用程序,看看他们是否定义了处理此意图的活动,并将其作为列表显示给用户。如果您构建漫​​画管理器和漫画下载器两个应用程序,您可以定义Intent并在您的应用程序网站上发布所有需要的数据,并且每个想要构建另一个漫画下载的人都可以使用此意图。 然后,您的漫画经理可以使用startActivityForResult电话,如果下载器构建正确并返回定义的键或SD卡上漫画的路径,则程序将能够以流畅的方式集成。

这是一个很酷的行为,也是android以这种方式连接应用程序的主要优势。但这也要求用户下载漫画下载应用程序和阅读器应用程序以使用您的应用程序。也许你可以集成一个简单的下载程序,然后像所有其他可能的下载一样监听相同的公共Intent,这将导致用户只需要一个应用程序,但也可以启用应用程序的“网格化”(如果这样,我没有信息)有效,但你可以快速测试它。)