As of ADT 14, resource fields (such...)are no longer constants
2016-01-13 08:53
471 查看
public static final int main=0x7f030004;
然而,截至ADT 14,他们将宣布如下:
public static int main=0x7f030004;
在R文件少了个final
换句话说,常量not final 在图书馆项目。原因很简单:当多个库项目相结合,实际值的字段(必须是唯一的)可能发生碰撞。ADT 14之前,所有字段都是决赛,所以作为一
个结果,所有库必须有他们所有的资源和相关的Java代码重新编译以及使用时的主要项目。这是糟糕的性能,因为它使构建非常缓慢。这也防止了分配库项目,不包括源
代码,限制了使用范围的库项目。
领域的原因不再是最后的是,它意味着库jar可以被编译一次,直接在其他项目中重用。以及允许分发二进制版本的库项目(进来r15),这使得更快的构建。
然而,它有一个影响图书馆的源代码。下面的代码形式将不再编译:
这是因为开关语句需要所有case标签,比如 R.id.button1,在编译时保持恒定(这样值可以直接复制到 .class 文件)。
这个问题的解决方案非常简单:转换开关语句变成一个if - else语句。幸运的是,这是很容易在Eclipse中。只是把插入符号在开关的关键字,并按下ctrl + 1(或cmd 1在Mac):
将上面的场景中,把switch语句改为:
int id = v.getId();
if (id == R.id.button1 ){
} else {
}
然而,截至ADT 14,他们将宣布如下:
public static int main=0x7f030004;
在R文件少了个final
换句话说,常量not final 在图书馆项目。原因很简单:当多个库项目相结合,实际值的字段(必须是唯一的)可能发生碰撞。ADT 14之前,所有字段都是决赛,所以作为一
个结果,所有库必须有他们所有的资源和相关的Java代码重新编译以及使用时的主要项目。这是糟糕的性能,因为它使构建非常缓慢。这也防止了分配库项目,不包括源
代码,限制了使用范围的库项目。
领域的原因不再是最后的是,它意味着库jar可以被编译一次,直接在其他项目中重用。以及允许分发二进制版本的库项目(进来r15),这使得更快的构建。
然而,它有一个影响图书馆的源代码。下面的代码形式将不再编译:
这是因为开关语句需要所有case标签,比如 R.id.button1,在编译时保持恒定(这样值可以直接复制到 .class 文件)。
这个问题的解决方案非常简单:转换开关语句变成一个if - else语句。幸运的是,这是很容易在Eclipse中。只是把插入符号在开关的关键字,并按下ctrl + 1(或cmd 1在Mac):
将上面的场景中,把switch语句改为:
int id = v.getId();
if (id == R.id.button1 ){
} else {
}
相关文章推荐
- 访问Nginx发生SSL connection error的一种情况
- 星外虚拟主机访问被控出现Unspecified error解决方法
- IIS 错误 Server Application Error 详细解决方法
- On Error Resume Next 语句
- IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
- Lua编程示例(一):select、debug、可变参数、table操作、error
- 收集整理的http/1.1 500 server error错误的解决方法
- SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
- VBScript中On Error语句用法小结
- 解决VC++编译报错error C2248的方案
- jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
- JQuery ajax中error返回错误及一直返回error的解答
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
- PHP 5.3和PHP 5.4出现FastCGI Error解决方法
- 解决mysql ERROR 1017:Can't find file: '/xxx.frm' 错误
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
- vs2012 error c4996: This function or variable may be unsafe
- php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
- ERROR/AndroidRuntime(17121)的问题解决