編輯:關於android開發
某些參數總是同時出現,可能好幾個方法都使用這樣一組參數,為了避免參數列表過長,同時也為了避免重復代碼, 我們可以將這些參數提煉為參數對象,原來傳入參數的地方使用這個參數對象代替.
操作步驟:
? 菜單欄: Refactor —> Extract —> Parameter Object …
實例演示:
提煉參數對象前:
public class TestExtract {
private void getAndroidInfo(String serialNumber, String packageName, String versionName, String versionCode){
DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.setSerialNumber(serialNumber);
PackageInfo packageInfo = new PackageInfo();
packageInfo.setPackageName(packageName);
}
}
第1步: 選中參數getAndroidInfo的所有參數 —> 執行菜單欄: Refactor —> Extract —> Parameter Object … —> 彈出參數參數配置對話框
第2步: 本例我們選擇創建內部類,名為AndroidInfo,默認提煉所有參數 —> Refactor
提煉參數對象後:
public class TestExtract {
private void getAndroidInfo(AndroidInfo androidInfo){
DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.setSerialNumber(androidInfo.getSerialNumber());
PackageInfo packageInfo = new PackageInfo();
packageInfo.setPackageName(androidInfo.getPackageName());
}
private static class AndroidInfo {
private final String serialNumber;
private final String packageName;
private final String versionName;
private final String versionCode;
private AndroidInfo(String serialNumber, String packageName, String versionName, String versionCode) {
this.serialNumber = serialNumber;
this.packageName = packageName;
this.versionName = versionName;
this.versionCode = versionCode;
}
public String getSerialNumber() {
return serialNumber;
}
public String getPackageName() {
return packageName;
}
public String getVersionName() {
return versionName;
}
public String getVersionCode() {
return versionCode;
}
}
}
android Log詳解(Log.v,Log.d,Log.i,Log.w,Log.e),log.vlog.d在Android群裡,經常會有人問我,Android Log
實現控件的拖拽,實現控件拖拽如圖是效果圖,移動ImageView時ImageView的位置會發生改變,並且雙擊的時候ImageView會水平居中 pac
Android IPC機制(四):細說Binder連接池 一、 前言 在上一篇文章 Android IPC機制(三):淺談Binder的使用中,筆者淺談了Binder
電信網絡拓撲圖自動布局在電信網絡拓撲圖中,很經常需要用到自動布局的功能,在大數據的層級關系中,通過手工一個一個擺放位置是不太現實的,工作量是相當大的,那麼就有了自動布局這