Codenameone 代码名One支持的java子集

Codenameone 代码名One支持的java子集,codenameone,parparvm,Codenameone,Parparvm,我的全新代号为One的应用程序出现了几个构建错误: 生成会对FileNotfoundException类和String split()方法进行投诉。知道为什么吗 xxx\Page.java:11: error: cannot find symbol import java.io.FileNotFoundException; symbol: class FileNotFoundException location: package java.io 及 顺便问一下,在CodenameO

我的全新代号为One的应用程序出现了几个构建错误:

生成会对FileNotfoundException类和String split()方法进行投诉。知道为什么吗

xxx\Page.java:11: error: cannot find symbol
import java.io.FileNotFoundException;
  symbol:   class FileNotFoundException
  location: package java.io

顺便问一下,在CodenameOne中使用Java1.5是否存在限制?我找不到用Java7编译的地方


亲切的问候,

编辑:这个回复有点过时了。支持now,尽管
string.split()
仍然是一个有问题的API调用

Codename One支持Java 5的一个子集,您不应该尝试改变这一点,因为服务器翻译代码依赖于目标Java 5的字节码行为,并且只支持非常特定的API子集

原因很简单,因为Codename One有多个虚拟机实现(iOS、Dalvik/ART、XMLVM/、blackberry等),测试新东西(例如更新的字节码)非常困难,并且很难以完全跨平台的方式添加新的API。您可以使用
StringUtils.split()
来实现此功能以及
StringTokenizer

限制API还允许我们保持可执行文件的高效和小型(相对而言)。与功能更全面的虚拟机相比,我们的生产规模至少要小5倍。这对于移动应用来说是一件大事

我们正在努力整合服务器端的各种VM,这将允许我们在将来更容易地添加核心VM API以及Java 8支持等功能

您可以从以下答案中了解更多信息:

对于世界上大多数习惯于使用Java 7的人来说,这很可能是一件令人沮丧的事情。您预计什么时候可以支持更新版本的Java?Java 7没有太大的改进,我们将来可能支持Java 8(lambdas),但没有具体的时间表。如果你指的是完整的API,我怀疑这种情况永远不会发生。。。完整的API太大了,因为我们需要打包整个内容,您将很快达到itunes中OTA下载的100mb硬限制。更新了答案,提供了更新的详细信息,因为现在支持Java 8。ShareButton类的javadocs使用了资源试用。我无法构建它,因为它告诉我它在源代码1.5中不受支持。我尝试将codename1.languageLevel属性设置为7,但没有成功。有没有办法用这个?还是ShareButton示例代码根本不正确?我们不久前切换到Java8支持,并且从3.3开始将其设置为默认值。请参阅对该问题的编辑。
xxx\Page.java:97: error: cannot find symbol
            final String[] parts = number_label.split("-");
  symbol:   method split(String)
  location: variable number_label of type String