当前位置:  开发笔记 > 编程语言 > 正文

适用于Android的Scala编程

如何解决《适用于Android的Scala编程》经验,为你挑选了7个好方法。

我已经在Scala和Android上使用了Scala 2.7.3 final 的教程.由此产生的Android应用程序可以工作,但即使是最基本的应用程序也需要几分钟(!)来编译,需要900 kb压缩,这是移动应用程序的显示阻止.此外,IDE时不时会耗尽内存.我认为dex不适合像这样的大型图书馆scala-library.

所以我的问题是:有没有人真的这样做了,有没有治愈的方法?

小智.. 127

我在Scala中编写了一些基本的Android应用程序,没什么太史诗的.不是Java程序员我被建议使用"treeshake",朋友解释说,这会从jar文件中删除所有不必要的库.

我没有记录,但我发现其他人已经有:

http://chneukirchen.org/blog/archive/2009/04/programming-for-android-with-scala.html

Proguard不是唯一的解决方案,您可能会找到适合您的工作流程或更适合您的环境的解决方案.

此外谷歌刚刚实现了JACK,它可以减少构建和内存时间,请参阅https://source.android.com/source/jack.html



1> 小智..:

我在Scala中编写了一些基本的Android应用程序,没什么太史诗的.不是Java程序员我被建议使用"treeshake",朋友解释说,这会从jar文件中删除所有不必要的库.

我没有记录,但我发现其他人已经有:

http://chneukirchen.org/blog/archive/2009/04/programming-for-android-with-scala.html

Proguard不是唯一的解决方案,您可能会找到适合您的工作流程或更适合您的环境的解决方案.

此外谷歌刚刚实现了JACK,它可以减少构建和内存时间,请参阅https://source.android.com/source/jack.html


Lemmy - 有什么理由你不接受这个答案吗?也许你找到了更好的解决方案?
谢谢!我必须尝试一下.我想知道它是否可以与Eclipse一起使用(使用Scala和Android插件)
根据我的经验,对于大多数非平凡的scala代码,树木摇摆不够好.这还不够激进.

2> Jason Voegel..:

您现在可以使用Gradle的Android插件在Scala中创建Android应用程序.它结合了ProGuard工具来修剪生成的APK文件中的脂肪,因此似乎可以满足您的需求.

http://wiki.github.com/jvoegele/gradle-android-plugin/



3> Jan Berkel..:

还有一个基于Scala的构建器sbt:sbt-android-plugin的插件.



4> Lukas Rytz..:

有关教程和示例,另请参阅StéphaneMicheloud的"探索Android"页面:http://lamp.epfl.ch/~michelou/android/



5> Mikaël Mayer..:

我使用Eclipse 3.7,Scala 2.10和插件AndroidProguardScala v50验证了这个详细的解决方案:

/sf/ask/17360801/

一切正常.具有scalafied主要活动类的简单测试应用程序仅需38Kb.支持图书馆项目.导出项目时激活Proguard.


由于一些新的好的缓存实现,现在需要大约1秒的最新的android sdk和插件.
这听起来很棒.部署到设备时,此解决方案的构建时间如何(与部署类似的Java Android项目相比)?

6> DCKing..:

为Scala开发Android应用程序正在不断发展.目前最好的方法是将SBT与android-sdk-plugin结合使用,该插件在我的Scala/Android项目中保持*并且对我来说效果很好.还可以找到一个最新的例子,该例子演示了如何使用已经提到过的Scaloid这个插件.

请注意,此问题是Stack Overflow上过时答案的问题的典型示例.这个答案也可能在某些时候变得过时.

*在本回答主题中提到的其他基于SBT的项目似乎在撰写本文时的最近六个月内没有为其编写代码.它们可能与较新版本的Scala和SBT存在兼容性问题.



7> pocorall..:

如果您使用maven,请使用android-scala-test作为启动模板.它非常适合我开箱即用.

Scaloid是一个用Scala编写的Android API包装器,可以帮助您以Scala风格编写Android程序.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有