Android(安卓)studio使用lambda表达式
16lz
2021-01-24
分三步
1.引入retrolambda插件:
在Project的build.gradle中添加
apply plugin: 'me.tatarka.retrolambda'
2. 设置编译选项(必须要写)
在Project的build.gradle的android节点中添加如下代码
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
3. 引入retrolambda的类路径,
在Module:app的build.gradle中的buildscript->dependencies节点中添加如下代码
classpath 'me.tatarka:gradle-retrolambda:3.2.0'
使用范例:
使用前
Observable.create(new Observable.OnSubscribe<Object>() { @Override public void call(Subscriber<? super Object> subscriber) { Drawable drawable = ActionActivity.this.getResources().getDrawable(R.mipmap.ic_launcher); subscriber.onNext(drawable); subscriber.onCompleted(); }}).subscribe(new Observer<Object>() { @Override public void onNext(Object drawable) { img.setImageDrawable((Drawable)drawable); } @Override public void onCompleted() { } @Override public void onError(Throwable e) { Toast.makeText(ActionActivity.this, "Error!", Toast.LENGTH_SHORT).show(); }});使用后
Observable.create(subscriber -> { Drawable drawable = ActionActivity.this.getResources().getDrawable(R.mipmap.ic_launcher); subscriber.onNext(drawable); subscriber.onCompleted();}).subscribe(o -> img.setImageDrawable((Drawable) o), throwable -> Toast.makeText(ActionActivity.this, "Error!", Toast.LENGTH_SHORT).show(), () -> {});
更多相关文章
- 在Android中通过代码切换到指定 WiFi
- android dialog屏蔽back返回键的解决方法
- 关于android系统自带数据库SQLite操作的重要易犯错误
- 运行时改变Button图片的android:drawableTop
- 【android】通过handle,looper实现多线程数据同步
- 设置Android铃声代码例子
- Android(安卓)程序中哪个 Activity 最先运行
- [android]编译时出现/usr/bin/ld: skipping incompatible /usr/l
- Android使用代码