Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以在独立项目中使用android.os.*库吗?_Java_Android_Android Emulator_Android Source - Fatal编程技术网

Java 我可以在独立项目中使用android.os.*库吗?

Java 我可以在独立项目中使用android.os.*库吗?,java,android,android-emulator,android-source,Java,Android,Android Emulator,Android Source,我正在尝试开发一个外部库(不确定这是否是正确的术语),以在Android项目中提供预先打包的功能。在Eclipse中工作时,我将适当的android.jar文件添加到构建路径中,在编辑和编译时,一切都很顺利 但是,当我使用Android的处理程序和消息类(Android.os.Handler、Android.os.Message)进行线程间通信时,我会遇到异常,除非我在Android应用程序、模拟器或设备上运行。我不能再以“独立”的方式测试我的库,而不必通过运行的Android目标 我有没有办法

我正在尝试开发一个外部库(不确定这是否是正确的术语),以在Android项目中提供预先打包的功能。在Eclipse中工作时,我将适当的android.jar文件添加到构建路径中,在编辑和编译时,一切都很顺利

但是,当我使用Android的处理程序和消息类(Android.os.Handler、Android.os.Message)进行线程间通信时,我会遇到异常,除非我在Android应用程序、模拟器或设备上运行。我不能再以“独立”的方式测试我的库,而不必通过运行的Android目标

我有没有办法包括这两个Android类,并且仍然能够独立测试我的库?我需要安卓的源代码吗?或者它需要某种条件编译吗

我有什么办法可以包括在内吗 这两个Android类仍然存在 能够独立测试我的库吗

我想不出有什么办法

我需要Android源代码吗 有空吗

我不知道你还能从哪里得到实现。但是,更重要的是,这些东西并不是为了在操作系统之外独立工作而设计的,就像你只需要抓取一两个Cocoa类并将它们拉到你的Objective-C库中并期望它们在Windows机器上运行一样


即兴说,我对您正在构建的内容一无所知,我会让您在
处理程序
消息
上引入的任何依赖性都更加可插拔。使用纯Java实现在Android之外进行测试,甚至可能只是一些模拟。使用真实的实现在Android内部进行测试。

您可以尝试实现Android API的lib Robolectric,以便能够为您拥有的一些独立代码创建JUnit测试:


我想可能会是这样——尽管我不确定如何让库的依赖部分“可插拔”。此时,我正在考虑用一个瘦包装器类继承所讨论的类,然后重写需要使用处理程序和消息的部分。测试代码将直接实例化(纯Java)父类,而Android应用程序将实例化包装器。这听起来合理吗?是的,即兴的,似乎合理。谢谢-我试过了,效果很好!下面是我是如何做到这一点的链接;您可以看到处理程序和消息代码从Deacervice类中删除并移动到Deacon包装类的位置。再次感谢你的帮助!!