作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的目标:
我完成的步骤:
面临的问题:
我收到运行时错误,没有编译错误,库项目已完美集成。
根本原因:
我在分析Logcat的时候,了解到是因为应用名冲突。我的主应用程序在其 list 文件中有一个名为“wish”的应用程序名称。其 list 文件中的库项目也有一个名为“Todoapplication”
在java文件中有一行代码如下:
m_app = (TodoApplication) getapplication();
此行抛出运行时异常,因为在主 list 文件中,name 参数中没有 Todoapplication。
任何人都可以帮助我了解情况。谢谢。
最佳答案
如果库项目有自定义的 Application
类,您需要在定义自己的类时继承其自定义的 Application 类。因此,WishApplication extends ToDoApplication
而不是 WishApplication extends Application
。
请注意,使用自定义 Application
通常毫无意义。它与静态数据成员具有相同的有效范围,并且只能有一个 Application
对象。因此,我建议避免在库中使用自定义 Application
类,因为您不能让两个库都要求主机应用程序使用它们的自定义 Application
类(class)。并且,对于您自己的代码,仅当自定义 Application
类明显优于普通静态数据成员时才使用它。
关于Android 应用程序名称问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569182/
我是一名优秀的程序员,十分优秀!