0
在我使用Android應用程序的經驗中,看到很多匿名內部類並不罕見。現在我正在開發一個自動更新功能,並在下面有一些代碼示例。如何在java應用Android應用程序中使用匿名內部類時使代碼更容易閱讀?
@Override
public void onStart() {
super.onStart();
IsUpdateAvailableTask task = new IsUpdateAvailableTask(){
@Override
protected void onPostExecute(Boolean updateAvailable) {
super.onPostExecute(updateAvailable);
if (updateAvailable) {
UpdateAvailableDialogFragment dialogFragment = UpdateAvailableDialogFragment.newInstance();
dialogFragment.show(getFragmentManager(), UpdateAvailableDialogFragment.class.getSimpleName());
TaskFragment.updateDialogShown = true;
}
}
};
task.execute(mParameters.getHostUrl(), mParameters.getPackageName(), mParameters.getVersionName());
}
我這個方法的問題是,代碼hadoukens變得非常頻繁,只是看看代碼很難。我想知道是否有任何方法可以提高代碼的可讀性,以減少哈代或至少分解它。由於異步任務不是接口,Lambdas在這種情況下不起作用。
如何寫入較舊的api級別可以防止使用lambdas? – Oleg
對不起,我誤解了爲什麼我不能使用lambdas。在問題中做了修正。 –
shmakova回答說,即使你寫了一個庫,仍然可以使用lambda表達式。如果你仍然不想,那就沒有魔力了,而不是你可以做的示例代碼:1.使'task'成爲一個字段。 2.使用內部類3.使用本地類。 4.在方法中創建'task'。可能還有其他一些選擇。 – Oleg