1 / 4
文档名称:

使用 Scala 编写 Android 应用.docx

格式:docx   大小:21KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

使用 Scala 编写 Android 应用.docx

上传人:xunlai783 2017/12/22 文件大小:21 KB

下载得到文件列表

使用 Scala 编写 Android 应用.docx

相关文档

文档介绍

文档介绍:使用 Scala 编写 Android 应用
Why?
Android 开发一直有两个无法回避的问题:基于 JVM 的设计使得系统的性能受到拖累;Java 冗繁的语法令人绝望。
手机性能的大幅提升、Android 系统的持续改进,以及应用中 NDK 的广泛使用使得 JVM 带来的额外开销变得微不足道。但 Java 作为一门民工语言已经远远落后于时代潮流则是无法改变的事实。更令人揪心的是,落在 Oracle 手上的 Java 对于整个开源社区来说都是潜在的威胁,这一点从 Oracle 针对 Google 的一系列 Android 相关的诉讼就可以大概明了。
Scala 作为一门 state-of-the-art 的编程语言,兼具面向对象以及函数式语言的特点。其设计在 JVM 之上,与 Java 类库完全兼容,甚至可以与 Java 代码相互转换。另外 Scala 以类似 BSD 的协议发布,对于开源社区也更为友好。总的来看,Scala 是当前替代 Java 的最好选择,在不需要放弃已经无比先进的 JVM 和足够完备的 Java 生态的前提下,开发者们可以获得更先进的语言特性和更高的开发效率。实际上类似的目标在 Groovy 和 JRuby 中都有所体现,但都做得不好。
至于 Android 开发,Scala 则提供了全新的体验。以一段常见的 Android 代码为例,在配合 Scaloid 的情况下代码量可以大大减少。
Register BroadcastReceiver in Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BroadcastReceiver connectivityListener = null;
void onResume() {
();
// ...
connectivityListener = new BroadcastReceiver() {
***@Override
public void onReceive(Context context, Intent intent) {
doSomething(); }
};
registerReceiver(connectivityListener, new IntentFilter());
}
void onPause() {
unregisterReceiver(connectivityListener);
17
18
19
// ...
();
}
上面是 Java 的实现,可以看出两个问题:Java 的回调用的是匿名类,显得颇为繁琐;注册与反注册这样一对调用需要成对出现,当代码量变大时,一不小心就会漏掉。
Register BroadcastReceiver in Scala
1
2
3
broadcastReceiver() { (context, intent) =>
doSomething()
}
同样的功能

最近更新

年级写人的作文(合集3篇) 4页

影响在线购买决策绩效的网络信息环境因素研究.. 2页

2024年事业单位招聘考试江苏省苏州市职业能力.. 23页

2024年事业单位招聘考试山东省潍坊市职业能力.. 22页

2024年幼儿园教师年度个人总结范文 11页

家庭代表在全县妇联科学发展示范家庭活动启动.. 3页

家具设计师个人工作计划2022 1 7页

家乡的清明节优秀作文精选3篇 6页

害羞孩子的幼儿园评语 3 50页

2024年事业单位招聘考试湖南省张家界市职业能.. 24页

2024年事业单位招聘考试江西省萍乡市职业能力.. 24页

2024年事业单位招聘考试山西省大同市职业能力.. 24页

2024年事业单位招聘考试云南省丽江地区职业能.. 23页

2024年微型灯泡项目资金申请报告代可行性研究.. 82页

幕墙安全检查技术规程 63页

3年级奥数教程 35页

高中作文开头范文素材(8篇) 10页

克隆人作文400克隆人的作文 11页

2024年人造革表面处理剂项目资金筹措计划书代.. 76页

2022-2023学年全国初中八年级上物理人教版同步.. 13页

2024年日历(A4打印版)中英文Word 6页

脚手架和操作平台减员控员专项施工方案 13页

ICP备案授权书范例 1页

生物酶辅助提取菊粉的方法 10页

(精校版)2023年浙江英语高考试题文档版(含.. 11页

煤矿井下防爆电气设备检查标准 5页

借鉴市委办公厅工作114个失误实例(全集排版2.. 94页

中国签证邀请函模板 2页

四年级英语上册乌鸦喝水-课件(PPT演示稿) 10页