我正在研究一个大型的Android项目并遇到一些问题,要组织我的代码并将逻辑拆分为单独的类。 例如,我的MainActivity包含处理传入GPS,NFC和QR码事件的所有逻辑。所有这些事件都有自己的onStart(),onResume()和onPause()逻辑,我想将它们外包到一个新类中,只是实现或扩展它们,但是不可能扩展多个类。
我该如何解决这个组织问题?有什么想法吗?
public class MainActivity extends FragmentActivity implements ActionBar.TabListener, ConnectionCallbacks,
OnConnectionFailedListener, LocationListener, SensorListener, OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
// instantiate tabs
// instantiate gps
// instantiate rotation sensor
// instantiate nfc
// instantiate wifi hotspot
}
@Override
protected void onResume() {
// start nfc if necessary
// start gps if necessary
// start wifi hotspot if necessary
}
@Override
protected void onPause() {
// stop nfc if necessary
// stop gps if necessary
// stop wifi hotspot if necessary
}
答案 0 :(得分:0)
您可以创建一个ListenerHandler类(或每个Listener的单个ListenerHandler类),然后在MainActivity中实例化处理程序。
例如,如果一个ListenerHandler类处理所有侦听器,则您的Main Activity将如下所示:
public class MainActivity extends FragmentActivity {
ListenerHandler listenerHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
listenerHandler = new ListenerHandler();
}
@Override
protected void onResume() {
listenerHandler.onResume();
}
@Override
protected void onPause() {
listenerHandler.onPause();
}
然后所有单独的指令都将进入ListenerHandler类,使MainActivity类保持整洁。那么你的MainActivity根本不需要实现监听器 - 所有这些实现都可以在处理程序类中处理。