Java 8 引入了 Lambda 表达式,可以使代码更简洁。Android开发中,强烈推荐使用retrolambda这个gradle插件,这样就可以在代码中使用lambda了。
buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath'me.tatarka:gradle-retrolambda:3.3.1'}}
我们使用Android studio开发时,经常会看到代码被自动 Lambda 化的预览,这将会使我们更加清晰地看到程序逻辑:
Observable.from(routes) .flatMap((Func1)(folder)->{ Observable.from(file.listFiles()) }) .filter((Func1)(file)->{ file.getName().endsWith(".jpg") }) .map((Func1)(file)->{ getBitmap(file) }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe((Action1)(bitmap)->{ imageList.add(bitmap); imageListAdatper.notifyDataSetChanged(); });