基于组件的android应用程序

时间:2013-02-15 09:13:58

标签: android

这可能不是与编程相关的直接问题,而是基于架构的问题。我面临的挑战是将我的Android应用程序分成几个部分,因此它具有高度可配置性。我想这样做可以满足不同客户的需求,请注意这个应用程序不应该在Google Play中发布。今天,我的应用程序有一些组件,它们将是标准的,而不是可配置的组件。这些组件的示例是ActionbarSherlockSlidemenu。希望下面的插图可以为您提供想法

enter image description here

注意:Workflow 2Workflow 3具有完全不同的逻辑和布局。

我的一些逻辑已经处理完毕,我有一种发送不同事务的方法。交易类型可以是我的emailwebservice

我处理此问题的方法是实施interface

public interface ISender {
    public abstract int send(Context c, String attachmentPath, String identifier); 
}

我有一个类SenderFactory,其类型ISender的方法将返回ISender个对象:

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"); 

}

此方法是从我的CreateTransaction

调用的
    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;
    }
}

这样,我的应用程序将根据构建中包含的xml-file来决定使用哪种类型的事务。

正如您可能已经想到的那样,如果您阅读这篇长篇文章,我想将此应用到我的整个项目中,不仅应用于逻辑,还应用于UI,以使其更加基于组件。我想知道什么是最佳做法,有没有推荐的方法呢?有人有以前项目的例子吗?

0 个答案:

没有答案