【问题标题】:android.text.BoringLayout declares multiple JSON fields named mPaint?android.text.BoringLayout 声明多个名为 mPaint 的 JSON 字段?
【发布时间】:2014-03-03 04:53:59
【问题描述】:

谁能告诉我这里到底发生了什么?

02-06 09:51:41.609: E/ACRA(15955): com.goosesys.dta_pta_test fatal error : Unable to start service com.goosesys.dta_pta_test.BGCollectorProc@4232c178 with Intent { flg=0x4 cmp=com.goosesys.dta_pta_test/.BGCollectorProc (has extras) }: java.lang.IllegalArgumentException: class android.text.BoringLayout declares multiple JSON fields named mPaint
02-06 09:51:41.609: E/ACRA(15955): java.lang.RuntimeException: Unable to start service com.goosesys.dta_pta_test.BGCollectorProc@4232c178 with Intent { flg=0x4 cmp=com.goosesys.dta_pta_test/.BGCollectorProc (has extras) }: java.lang.IllegalArgumentException: class android.text.BoringLayout declares multiple JSON fields named mPaint
02-06 09:51:41.609: E/ACRA(15955):  at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2515)
02-06 09:51:41.609: E/ACRA(15955):  at android.app.ActivityThread.access$1900(ActivityThread.java:133)
02-06 09:51:41.609: E/ACRA(15955):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
02-06 09:51:41.609: E/ACRA(15955):  at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 09:51:41.609: E/ACRA(15955):  at android.os.Looper.loop(Looper.java:137)
02-06 09:51:41.609: E/ACRA(15955):  at android.app.ActivityThread.main(ActivityThread.java:4810)
02-06 09:51:41.609: E/ACRA(15955):  at java.lang.reflect.Method.invokeNative(Native Method)
02-06 09:51:41.609: E/ACRA(15955):  at java.lang.reflect.Method.invoke(Method.java:511)
02-06 09:51:41.609: E/ACRA(15955):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
02-06 09:51:41.609: E/ACRA(15955):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
02-06 09:51:41.609: E/ACRA(15955):  at dalvik.system.NativeStart.main(Native Method)
02-06 09:51:41.609: E/ACRA(15955): Caused by: java.lang.IllegalArgumentException: class android.text.BoringLayout declares multiple JSON fields named mPaint
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:122)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.Gson.getAdapter(Gson.java:356)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.Gson.getAdapter(Gson.java:356)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.Gson.getAdapter(Gson.java:356)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.Gson.getAdapter(Gson.java:356)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:118)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:72)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.Gson.getAdapter(Gson.java:356)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.<init>(ReflectiveTypeAdapterFactory.java:82)
02-06 09:51:41.609: E/ACRA(15955):  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:81)

应用程序昨晚运行良好,今天早上重构,现在这个。我假设它与对象有关 -> JSON(通过 Gson),但我不确定如何修复它,因为错误消息毫无用处!

【问题讨论】:

标签: java android json gson


【解决方案1】:

发布后不久就想通了。这完全是由于我的对象继承自我的 BaseDB 类。所以当涉及到 JSON/GSON 序列化时,它撞到了 BaseDB 类并摔倒了。

修复是将transient 修饰符添加到我不想序列化的任何内容。像魅力一样工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 2021-02-13
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多