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

时间:2015-10-02 17:18:44

标签: android

我知道每种情况都会有所不同,但我只是想知道是否有一般性建议。

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

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

哪种方式更“标准”?

1 个答案:

答案 0 :(得分:0)

我使用以下方式。我在每个活动或片段中都有一个共同的EventHandler子类,我将属于activity的单个实例添加到每个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:
            }
        }
    }
}