下面是Android Source的packages/apps/Phone/src/com/android/phone/GsmUmtsCallForwardOptions.java里面的一段code。
package com.android.phone;
//省略一些代码
public class GsmUmtsCallForwardOptions extends TimeConsumingPreferenceActivity {
//省略一些代码
private static final String BUTTON_CFU_KEY = "button_cfu_key";
private static final String BUTTON_CFB_KEY = "button_cfb_key";
private static final String BUTTON_CFNRY_KEY = "button_cfnry_key";
private static final String BUTTON_CFNRC_KEY = "button_cfnrc_key";
private CallForwardEditPreference mButtonCFU;//note1:声明的一些顺序
private CallForwardEditPreference mButtonCFB;
private CallForwardEditPreference mButtonCFNRy;
private CallForwardEditPreference mButtonCFNRc;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
//省略一些代码
mButtonCFU = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFU_KEY);//note2:坚持了前面的顺序。
mButtonCFB = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFB_KEY);
mButtonCFNRy = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFNRY_KEY);
mButtonCFNRc = (CallForwardEditPreference) prefSet.findPreference(BUTTON_CFNRC_KEY);
mButtonCFU.setParentActivity(this, mButtonCFU.reason);//note3:同种处理放在一起,形成强烈的类比
mButtonCFB.setParentActivity(this, mButtonCFB.reason);//不同的处理块分开段落。
mButtonCFNRy.setParentActivity(this, mButtonCFNRy.reason);
mButtonCFNRc.setParentActivity(this, mButtonCFNRc.reason);
mPreferences.add(mButtonCFU);
mPreferences.add(mButtonCFB);
mPreferences.add(mButtonCFNRy);
mPreferences.add(mButtonCFNRc);
}
//省略了一些代码
}
代码中有这样的特点:
- 声明的时候,有一定的声明顺序。
- 使用的过程中坚持了这种顺序。
- 相同的处理放在一起,凸显功能的一致性。
- 不同处理段落隔开,说明逻辑的不同。(某些场景下可以表示一种先后顺延关系)
本文分析了Android源代码中GsmUmtsCallForwardOptions类的实现细节,展示了如何通过一致的顺序声明和初始化CallForwardEditPreference对象来管理呼叫转移选项。
1413

被折叠的 条评论
为什么被折叠?



