lambda
button.setOnClickListener(
(View v) -> {
doSomeWork();
}
);
语法
( 参数列表... ) -> { 语句块... }
用自定义的接口当栗子
MainActivity
public class MainActivity extends AppCompatActivity {
private final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 无参无返回值
new Test(new Test.Callback() {
@Override
public void success() {
Log.e(TAG, "无参无返回值");
}
});
new Test(() -> Log.e(TAG, "无参无返回值"));
// 有参无返回值
new Test(new Test.Callback1() {
@Override
public void success(String msg) {
Log.e(TAG, "有参无返回值");
}
});
new Test((String msg) -> Log.e(TAG, "有参无返回值"));
//无参有返回值
new Test(new Test.Callback2() {
@Override
public String success() {
return "无参有返回值";
}
});
new Test(() -> "无参有返回值");
//有参有返回值
new Test(new Test.Callback3() {
@Override
public String success(String msg) {
return msg + "的回调";
}
});
new Test((String msg) -> msg + "的回调");
}
}
Test
public class Test {
private final String TAG = "Test";
// 无参无返回值
public Test(Callback callback) {
如何成为Android高级架构师!
架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。 你如何具备这种能力呢?一是来自于经验,二是来自于学习。
架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。
但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我整理架构师进阶此系列的始动力之一。
成为Android架构师必备知识技能
对应导图的学习笔记(由阿里P8大牛手写,我负责整理成PDF笔记)
部分内容展示
《设计思想解读开源框架》
- 目录
- 热修复设计
- 插件化框架设计
《360°全方面性能优化》
- 设计思想与代码质量优化
- 程序性能优化
本文在开源项目:【GitHub 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…