Articles of scala

Scala + Android:有人在Eclipse中成功构建和调试吗?

到目前为止,我能够在Eclipse中进行调试的唯一方法是使用Treeshaker和Scala IDE的buggy 2.8分支。 如果我尝试使用没有Treeshaker的Scala IDE进行构建,我会在scala-on-android上的每个长线程中获得ClassNotFound错误。 理想情况下,我会在Eclipse中使用sbt-android和debug进行构建,但我无法成功完成。 最接近调试sbt-android项目我能够实现的是使用android:package-debug命令构建sbt-android项目,使用android:start-emulator命令启动可执行文件,然后将DDMS连接到应用程序的线。 但是,我设置了断点,只有在我将调试器连接到线程后才会执行,并且没有一个断点在到达时导致线程停止。 有没有人能够使用除了基于Scala 2.8的Scala IDE的Treeshaker之外的任何其他工具在Eclipse中调试Scala Android代码? 更新 :在使用sbt,sbteclipse和android-plugin从命令行构建之后,我在Eclipse中成功调试(不构建)。 我所做的是使用Eclipse的新Android项目菜单,连接到现有源,并将其指向./src/main目录。 然后Eclipse识别出Android设置,DDMS将该任务识别为属于Eclipse Android项目。 我还必须通过从构建路径中删除src文件夹并添加./scala文件夹来重新配置Eclipse项目的Java构建路径源文件夹。 然后我不得不重新启动Eclipse以向Scala文件添加断点。 这里有一些关于使用Eclipse构建和调试Android应用程序的困难的有趣讨论 。

如何在Android-Scala应用程序中扩展ImageView?

我通过关键字在谷歌尝试了许多解决方案:多个构造函数,scala,inheritance,子类。 似乎没有人适合这种场合。 ImageView有三个构造函数: ImageView(context) ImageView(context,attribute set) ImageView(context,attribute set, style) 在scala中,您只能扩展其中一个。 使用更完整的构造函数( ImageView(context,attribute set, style) )和传递默认值的解决方案也不起作用,因为构造函数ImageView(context)执行的操作与其他两个构造函数完全不同。 使用特征或伴随对象的一些解决方案似乎不起作用,因为CustomView必须是一个类! 我的意思是我不是唯一一个使用这个类的人(因此我可以按照我想要的任何方式编写scala代码)还有使用这个类的android-sdk,是的,它必须是一个类。 target是一个扩展ImageView的CustomView,所有这些工作: new CustomView(context) new CustomView(context,attribute set) new CustomView(context,attribute set, style) 如果您需要进一步澄清这个棘手的事情,请告诉我!

Android,Scala和Proguard

在首先遇到与Android命令行工具集相同的问题之后,我终于设法将Scala和Java源代码的混合编译成可用的apk。 正如许多人所说,我使用proguard通过dex工具挤压Scala库。 问题是这样的: BUILD SUCCESSFUL Total time: 1 minute 29 seconds 一分半钟。 我们在这里讨论的是具有Hello-World复杂性的应用程序。 我认为我不能那样发展。 我需要参加冥想课程。 这是proguard配置: -injars ${out.absolute.dir}/classes:${scala-library.jar}(!META-INF/MANIFEST.MF,!library.properties) -outjars ${out.absolute.dir}/classes.min.jar -libraryjars ${android.jar} -dontwarn -dontoptimize -dontobfuscate -keep public class * extends android.app.Activity 有没有办法加快proguard步骤? 编辑 :我在一台相当不错的双核3GB ram机器上运行它,在64位Linux之上运行。 运行ant compile ( scalac / javac )需要3秒钟。 如上所述,完整的ant install需要1:30。 根据输出,这是“冻结”的步骤,很可能是因为scala / android运行时库大小。

在android上替代java

我刚买了一部安卓手机,我很想开始编码! 然而,我不是一个很大的java粉丝,虽然我可以忍受,我想知道是否有合适的android虚拟机替代品。 我使用clojure完成了一个中等大小的项目,但是从我读过的评论来看,在Android上运行时它非常慢。 斯卡拉怎么样? 我看到有人在android上做过实验,是否“足够快”? 学习曲线有多大? 干杯,泽玛丽亚

使用Scala 2.8 Trunk构建目标Android

在android上使用Scala的权威参考似乎在这里: http : //www.scala-lang.org/node/160 不幸的是,所有关于在Android上使用scala的参考资料都是基于Scala 2.7并且引用了一个自定义构建android-library.jar,其中有几个神秘的引用暗示了android的更高版本不需要这个自定义构建(I’ m使用2.1 / API v7) 那么……在Android项目中使用Scala 2.8需要哪些步骤? 最好使用eclipse和Google为该IDE提供的Android工具。

未find库“libmaliinstr.so”

我有一个用Scala编写的Android应用程序。 当我启动它时,日志窗口中会出现以下错误消息: 08-31 13:11:10.781 5398-5398/my.app.app123 E/linker﹕ load_library(linker.cpp:759): library “libmaliinstr.so” not found 08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ appName=my.app.app123, acAppName=com.android.cts.openglperf 08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ 0 08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ appName=my.app.app123, acAppName=com.android.browser 08-31 13:11:10.784 5398-5398/my.app.app123 E/﹕ 0 它是什么意思以及如何解决它?

创建没有Java的Android应用程序

我想开始创建Android应用程序,但我不喜欢Java。 我读过scala可以用来做它。 还有其他选择吗?(Clojure?) 我是一名Python / Django开发人员,所以学习一门完全不同的语言会很棒。

Scala for Android的性能

我刚刚开始学习Scala ,我正在度过我的生活。 今天我也刚刚听说过Scala for Android,我完全迷上了。 但是,考虑到Scala有点像Java的超集,因为它是Java ++(我的意思是包含更多内容的Java)我想知道Scala代码在Android中是如何工作的? 此外,如果使用Scala编写,是否会影响Android应用程序的性能? 也就是说,如果需要额外的工作来解释Scala代码。

如何在多项目构建中排除其他子项目的传递依赖?

在Build.scala我有一个项目之间的依赖关系: val coreLib = Projects.coreLib() val consoleApp = Projects.consoleApp().dependsOn(coreLib) val androidApp = Projects.androidProject().dependsOn(coreLib/*, exclusions = xpp */) 核心库项目在其libraryDependencies (XPP解析器)中定义了一个库,我想在androidApp排除androidApp ,因为Android框架有自己的开箱即用的XP​​P实现。 如何从androidApp项目中的androidApp传递依赖coreLib中排除XPP库? 编辑: 根据我的研究,排除只能用于与libraryDependency结合使用的libraryDependency 。 同时dependsOn将所有传递依赖项放到classpath中,api中没有办法排除这个项目的一些传递依赖,你依赖于 细节: 我目前正在运行0.13.5。 libraryDependencies of libraryDependencies以及libraryDependencies中提供的各种设置,以便该项目可以作为独立的方式重用,并且因为它感觉在sbt中提供设置的正确和自然的方式。

没有Java的Android

在完成整个“企业”编程一段时间之后,我对语言本身感到非常失望,如果我不得不重新开始,我总会感到非常受阻。 你的普通Android应用程序的项目大小并不太令人生畏,而且库的编码风格实际上相当不错,但如果我能避免使用Java,我肯定会这样做。 这就是问题:我可以避免吗? 虽然桌面和服务器上有很多JVM语言可供选择,但Dalvik VM和设备本身也有一些限制。 这在使用JIT的2.2中看起来好一点,但将自己限制在最前沿将是一个相当苛刻的决定。 我所知道的唯一替代方案似乎是Scala。 有没有可能我错过了? Clojure似乎完全解决了我在上面用Dalvik说明的问题,但是由于AppInventor建立在Kawa上,因此移动平台上的Lisp可能有希望吗? 还有哪些其他语言可以使用或朝这个方向迈进?