Android Library Project 使用问题总结

1. 当新建Android Library Project 工程或将已有工程转化为Android Library Project, 如果工程源代码中有如下语句:

int id = view.getId();
switch (id) {
case R.id.button1:
action1();
break;
case R.id.button2:
action2();
break;
case R.id.button3:
action3();
        break;
}

会提示case expressions must be constant expressions 错误,原因是ADT14后Android库工程中R.class中的资源常量不在为final类型,原因

见http://tools.android.com/tips/non-constant-fields 官方解释。所以例子上面的R.id.button1不再问常量,就不能用在switch结构中,简单的解决

方法是将switch 转化成if-else语句,这在eclipse中非常容易实现,将光标置于switch关键字上,按ctrl+1,按下图进行装换




2.  如果Android Library Project中有Activity,可以不必再库工程的清单文件中声明,但一定要在使用该库的工程中进行声明,因为manifest 配置文件是独立给工程的,不能复用。


3. 如果Android Library Project中用到第三方jar包,也要讲其导入使用该库的工程中

转载于:https://www.cnblogs.com/Codenewbie/p/3374719.html

1. 当新建Android Library Project 工程或将已有工程转化为Android Library Project, 如果工程源代码中有如下语句:

int id = view.getId();
switch (id) {
case R.id.button1:
action1();
break;
case R.id.button2:
action2();
break;
case R.id.button3:
action3();
        break;
}

会提示case expressions must be constant expressions 错误,原因是ADT14后Android库工程中R.class中的资源常量不在为final类型,原因

见http://tools.android.com/tips/non-constant-fields 官方解释。所以例子上面的R.id.button1不再问常量,就不能用在switch结构中,简单的解决

方法是将switch 转化成if-else语句,这在eclipse中非常容易实现,将光标置于switch关键字上,按ctrl+1,按下图进行装换




2.  如果Android Library Project中有Activity,可以不必再库工程的清单文件中声明,但一定要在使用该库的工程中进行声明,因为manifest 配置文件是独立给工程的,不能复用。


3. 如果Android Library Project中用到第三方jar包,也要讲其导入使用该库的工程中

猜你喜欢

转载自blog.csdn.net/weixin_34310127/article/details/93448116