Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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 添加Joda时间_Java_Android_Jodatime_Noclassdeffounderror_Libs - Fatal编程技术网

Java 添加Joda时间

Java 添加Joda时间,java,android,jodatime,noclassdeffounderror,libs,Java,Android,Jodatime,Noclassdeffounderror,Libs,我正在构建一个使用时间的应用程序。我决定利用乔达的时间。我正在尝试将joda time添加到我的应用程序中。我没有向libs添加.jar文件的经验。我跟着(见下图),或者我是这么想的。我的项目没有显示错误,但是当我运行一个简单的测试时:DateTime test=newdatetime()我得到一个强制关闭和以下错误: Could not find class 'org.joda.time.DateTime', referenced from method xxxx java.lang.No

我正在构建一个使用时间的应用程序。我决定利用乔达的时间。我正在尝试将joda time添加到我的应用程序中。我没有向libs添加
.jar
文件的经验。我跟着(见下图),或者我是这么想的。我的项目没有显示错误,但是当我运行一个简单的测试时:
DateTime test=newdatetime()我得到一个强制关闭和以下错误:

 Could not find class 'org.joda.time.DateTime', referenced from method xxxx
 java.lang.NoClassDefFoundError: org.joda.time.DateTime    
以下是我遵循的步骤:

  • 在eclipse中创建您的android项目
  • 下载
  • 在Eclipse中,在PackageExplorer中查找您的项目,右键单击它,然后将其命名为
    New->Folder->libs
    注意:我没有这样做,因为我已经有一个名为
    libs
  • 复制(或)将
    joda-time-2.1.jar
    拖放到新创建的
    libs
    文件夹中
  • 再次右键单击您的项目(在包资源管理器中),然后
    Properties->Java构建路径->库->添加jar->joda-time-2.1.jar
    现在,您可以使用以下代码进行测试:

    DateTime test = new DateTime();
    
    导入后:

    import org.joda.time.DateTime;
    

    因为它是一个Android项目,仅仅引用Joda jar文件是不行的。您需要将该jar文件与apk捆绑在一起,具体操作如下:-

  • 属性->Java构建路径->订单和导出

  • 检查
    joda time-*-*.jar
    并单击Ok。你完了


  • 解释:单独引用jar只会解决Eclipse(或任何其他IDE)中的编译问题,但创建apk时,“joda time”jar文件不会与“apk”一起导出/绑定。这就是它抛出NoClassDefFoundError的原因


    但是,当您在Order&Export中检查joda time jar时,它将确保jar在创建时也与“apk”捆绑在一起。

    清理项目和构建。您可以通过在类文件开头添加相关的导入语句来开始使用jodatime(或者只是键入DateTime,然后CTRL+SPACE和eclipse应该为您添加导入)对。它被正确导入了。哈利路亚!!成功了!您能解释为什么我需要为android这样做吗?