2016-07-07 7 views
0

joda-timeに問題があり、Androidアプリとの統合に問題があります。アンドロイドのjoda-timeのjava.lang.NoClassDefFoundError

は、私は、文字列で表現されたDateTimeオブジェクトが含まれているJSONデシリアライズしたい:

{ 
    "userId": 333, 
    "username": "myuserid", 
    "timestamp": "2014-11-19T17:02:11.454Z" 
} 

をしかし、生憎、私はNoClassDefFoundErrorを受けます。

java.lang.NoClassDefFoundError: org/joda/convert/ToString...  
Caused by: java.lang.ClassNotFoundException: org.joda.convert.ToSt 

私はjoda-converterを追加すると、サーバが持っているものと同じバージョンでjoda-time依存関係を追加しようとしました。しかし、私はこのことを忘れずに常に例外を受け取ります。私の現在のjoda-timeの依存性は、以下のとおりです。

compile 'org.joda:joda-convert:1.8.1' 
compile 'joda-time:joda-time:2.1' 

私はまた、ユーザーjoda-time-androidしようとしたが、それはまた、成功しませんでした。

+0

あなたはきれいにして、もう一度プロジェクトを再実行してください。 –

答えて

0

org.joda.convertを見ると、それはorg.joda.convert.ToStringです。それを使って変換することはできません。
は、あなたが成功したJSON Stringを解析されたと仮定すると、オブジェクトの定義は次のとおりです。あなたが正確にprecisedていないため

public class json { 
    private Long userId; 
    private String username; 
    private String timestamp; 
} 

そして、ここでは、あなたがやりたい何か質問です。
StringtimespampからDateTimeオブジェクトをjoda-timeオブジェクトに変換する場合は、this linkに従ってください。これは、あなたが提供した日付がISO-8601の日付記述形式の標準であるため、解析するためのソリューションを提供します。

ただし、ライブラリ全体をインポートするだけで、StringからDateを解析するだけでは効率的ではありません。 joda-timeはAndroidで遅い初期化とパフォーマンスの問題があります。 this linkに続いて、文字列をJavaDateオブジェクトに変換するには、4755のメソッドを持つライブラリをインポートする必要があります。

関連する問題