组织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:
}
}
}
}