このコードを実行しようとすると、次のようになります。
public void load(String filename) {
FileHandle file = Gdx.files.external(filename + ".bim");
Json json = new Json();
String text = file.readString();
datamap.clear();
datamap = json.fromJson(HashMap.class, text);
エラーが発生します:
スレッド「LWJGLアプリケーション」の例外com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.SerializationException:クラスを作成できません(引数なしのコンストラクターがありません):com.bvo.easyBim.Model.Cursor at com .badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:113)原因:com.badlogic.gdx.utils.SerializationException:クラスを作成できません(引数なしのコンストラクターがありません):com.bvo.easyBim .Model.Cursor at com.badlogic.gdx.utils.Json.newInstance(Json.java:915)at com.badlogic.gdx.utils.Json.readValue(Json.java:793)at com.badlogic.gdx.utils .Json.readValue(Json.java:803)at com.badlogic.gdx.utils.Json.fromJson(Json.java:644)at com.bvo.easyBim.View.DataProcessor.load(DataProcessor.java:85)at com.bvo.easyBim.View.World.init(World.java:115)(com.bvo.easyBim.View)。WorldRenderer.buttons(WorldRenderer.java:173)at com.bvo.easyBim.View.WorldRenderer.render(WorldRenderer.java:106)at com.bvo.easyBim.Screens.AppScreen.render(AppScreen.java:22)at com .badlogic.gdx.Game.render(Game.java:46)at com.bvo.easyBim.EasyBim.render(EasyBim.java:39)at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java :187)com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)原因:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursoratjava.lang.Class。 newInstance0(Unknown Source)at java.lang.Class.newInstance(Unknown Source)at com.badlogic.gdx.utils.Json.newInstance(Json.java:901)... 12 more106)com.bvo.easyBim.Screens.AppScreen.render(AppScreen.java:22)at com.badlogic.gdx.Game.render(Game.java:46)at com.bvo.easyBim.EasyBim.render(EasyBim .java:39)at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:187)at com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)原因:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursor at java.lang.Class.newInstance0(Unknown Source)at java.lang.Class.newInstance(Unknown Source)at com.badlogic.gdx.utils.Json .newInstance(Json.java:901)...12詳細106)com.bvo.easyBim.Screens.AppScreen.render(AppScreen.java:22)at com.badlogic.gdx.Game.render(Game.java:46)at com.bvo.easyBim.EasyBim.render(EasyBim .java:39)at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:187)at com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)原因:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursor at java.lang.Class.newInstance0(Unknown Source)at java.lang.Class.newInstance(Unknown Source)at com.badlogic.gdx.utils.Json .newInstance(Json.java:901)...12詳細mainLoop(LwjglApplication.java:187)at com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)原因:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursor at java .lang.Class.newInstance0(Unknown Source)at java.lang.Class.newInstance(Unknown Source)at com.badlogic.gdx.utils.Json.newInstance(Json.java:901)... 12 moremainLoop(LwjglApplication.java:187)at com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)原因:java.lang.InstantiationException:com.bvo.easyBim.Model.Cursor at java .lang.Class.newInstance0(Unknown Source)at java.lang.Class.newInstance(Unknown Source)at com.badlogic.gdx.utils.Json.newInstance(Json.java:901)... 12 more
別のコードに正しく保存された後、jsonファイルをデータマップに変換し直そうとしています。(ハッシュマップ)が、これは機能していないようです。
彼は文字列を読めないと思いますが、実は何が問題なのかわかりません。