组织android开发代码的最佳方式是什么?

问题描述:

我知道每一种情况都会有所不同,但我只是想看看是否有一般性建议。组织android开发代码的最佳方式是什么?

目前,我有我的活动(屏幕)动态创建自定义按钮对象和自定义编辑文本对象。这些对象中的每一个都有侦听器来查看它们的状态是否发生了变化。这些对象类具有屏幕的所有逻辑。该活动的唯一工作是将对象分配给我在XML中创建的小部件。

部分我认为它应该是相反的,其中活动包含屏幕上所有小部件的所有逻辑,并简单地等待对象在听众离开时通知它。

哪种方式更“标准”?

我使用以下方法。我在每个活动或片段中都有一个常见的EventHandler子类,并将属于活动的单个实例添加到每个UI项目。 EventHandler实现了OnClickListener,OnChanged ..等等。

我也建议在看这个库,如果你熟悉DI概念:

https://github.com/roboguice/roboguice/

这里是我的代码示例:

package com.x.y; 

public class DashboardActivity extends FragmentActivity { 

    private EventHandler eventHandler = new EventHandler(); 

    @SomeAnnotationForInit(R.id.some_id) 
    private Button feedButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.dashboard_activity); 

     initGui(); 
    } 

    private void initGui() { 
     feedButton.setOnClickListener(eventHandler); 
    } 

    private class EventHandler implements View.OnClickListener { 

     @Override 
     public void onClick(View view) { 
      if(view.equals(...)) { 
       //TODO: 
      } 
     } 
    } 
}