2016-05-23 9 views
0

私はlibGdxアプリケーションでDateTimeの書式を使用したいと思います。ウェブ版(gwt)と互換性がありたいと思います。必要なクラスはサポートされていないので、デフォルトのJavaウェイはgwtバージョンでは動作しません。libGdxのdate-time utilsの使い方は?

すでにjoda-timetreeten-bpなどの外部ライブラリを使用してみました。後者はgwtでサポートされていないJavaクラスへの依存関係があり、joda-timeは依存性がありません。...

私はgwtに必要な時間のユーティリティがあるのを見ましたが、それらを使用する方法。

さらに、いくつかのロジックを追加して、Androidとデスクトップで通常のjava utilsを使用し、html5/gwtでgwtクラスを使用する方法さえも。しかし、私はちょうどどのようにgwtクラスを使用するかを理解できません。 libGdxのDateTimeFormatインポートするだけで、結果がException in thread "main" java.lang.NoClassDefFoundError: com/google/gwt/core/client/GWTBridge

ありがとうございました!

答えて

1

ActionResolverを使用して、使用するDateTimeメソッドをモジュールごとに実装する必要があります(プラットフォーム固有コードの記述方法についてはhttps://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-codeを参照)。

Android、iOS、デスクトップの実装では、ActionResolverでSimpleDateFormatを使用できます。 HTMLモジュールの場合

、あなたはライブラリ

com.google.gwt.i18n.client.DateTimeFormat 

を使用し、そんなに

public class HtmlLauncher extends GwtApplication implements com.yourpackage.util.ActionResolver{ 

     @Override 
     public GwtApplicationConfiguration getConfig() { 
       return new GwtApplicationConfiguration(360, 640); 
     } 

     @Override 
     public ApplicationListener getApplicationListener() { 
       return new MyGame(this); 
     } 

     @Override 
     public String convertDate(String format, Date date) { 
      DefaultDateTimeFormatInfo info = new DefaultDateTimeFormatInfo(); 
      DateTimeFormat dateFormat = new DateTimeFormat(format, info) {}; 

      return dateFormat.format(date); 
     } 

    } 
+0

感謝をたどるとして実装することができます!私はどこかでこの方法について読んだことは分かっています。ただ、私の頭の中でこれが私が必要としていたものをクリックしていないだけです。 –

+0

見つかりました:https://github.com/libgdx/libgdx/wiki/Interfacing-with-platform-specific-code –