基于组件的android应用
这可能不是一个与编程直接相关的问题,而是一个基于体系结构的问题。我面临的挑战是将我的android应用程序分成几个部分,以便它具有高度可配置性。我想这样做,以处理不同的客户需求,请注意,这个应用程序不应该在谷歌播放发布。今天,我的应用程序有一些组件是标准的,不可配置的组件。这些组件的示例包括。下面的插图希望能给你一个想法 注意:工作流2和工作流3具有完全不同的逻辑和布局 我的一些逻辑已经被处理,我有一个发送不同事务的方法。交易类型可以是我的电子邮件或Web服务 我处理这个问题的方法是实现一个接口: 我有一个类SenderFactory,其方法类型为ISender,将返回ISender对象: 此方法是从我的CreateTransaction类调用的 这样,我的应用程序将根据构建中包含的xml文件决定使用哪种类型的事务基于组件的android应用,android,Android,这可能不是一个与编程直接相关的问题,而是一个基于体系结构的问题。我面临的挑战是将我的android应用程序分成几个部分,以便它具有高度可配置性。我想这样做,以处理不同的客户需求,请注意,这个应用程序不应该在谷歌播放发布。今天,我的应用程序有一些组件是标准的,不可配置的组件。这些组件的示例包括。下面的插图希望能给你一个想法 注意:工作流2和工作流3具有完全不同的逻辑和布局 我的一些逻辑已经被处理,我有一个发送不同事务的方法。交易类型可以是我的电子邮件或Web服务 我处理这个问题的方法是实现一个接口
正如您可能已经发现的,如果您阅读了这篇长篇文章,我想将其应用到我的整个项目中,不仅应用到逻辑上,而且应用到UI上,使其更加基于组件。我想知道什么是最佳实践,有什么推荐的方法吗?有人有以前项目的例子吗 时间到了。你在这方面成功了吗?@joaquin我还没有尝试过,但我已经使用过Autofac和其他IoC容器。看看国际奥委会
public interface ISender {
public abstract int send(Context c, String attachmentPath, String identifier);
}
public static ISender createSender(Context context) throws InvalidWorkflowException {
if(WorkflowChooser.GetWorkflow().equals("mail"))
return new MailSender();
else if(WorkflowChooser.GetWorkflow().equals("webservice"))
return new WebserviceSender();
else
throw new InvalidWorkflowException("The Application doesn't support this way of transfering cases");
}
public int createTransaction(String pcn, String fileName) throws MailException {
try
{
ISender s = SenderFactory.createSender(context);
sent = s.send(context, fileName, pcn);
}
catch(InvalidWorkflowException e) {
_log.error(e.getMessage());
}
return sent;
}
}