大佬教程收集整理的这篇文章主要介绍了标准Android运行时对象上的NoMethodError,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Heya,我得到一个非常奇怪的@L_607_1@,我试图在所有Android平台上从1.5到2.2(在手机和模拟器上)将对象序列化为JSON时无法理清.
我收到此@L_607_1@:
E/AndroidRuntime(21017): Uncaught handler: thread AsyncTask #2 exiTing due to uncaught exception
E/AndroidRuntime(21017): java.lang.RuntimeException: An error occured while execuTing doInBACkground()
E/AndroidRuntime(21017): at android.os.AsyncTask$3.done(AsyncTask.java:200)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
E/AndroidRuntime(21017): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
E/AndroidRuntime(21017): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
E/AndroidRuntime(21017): at java.lang.Thread.run(Thread.java:1096)
E/AndroidRuntime(21017): Caused by: java.lang.NoSuchMethodError: org.json.JSONStringer.object
E/AndroidRuntime(21017): at com.qype.radar.api.json.JsonserializationHelper.startModel(JsonserializationHelper.java:119)
E/AndroidRuntime(21017): at com.qype.radar.api.json.JsonserializationHelper.serializecheckin(JsonserializationHelper.java:94)
E/AndroidRuntime(21017): at com.qype.radar.api.QypeApiImpl.submitcheckin(QypeApiImpl.java:157)
E/AndroidRuntime(21017): at com.qype.radar.activities.tasks.SubmitcheckinTask.docheckedInBACkground(SubmitcheckinTask.java:29)
E/AndroidRuntime(21017): at com.qype.radar.activities.tasks.SubmitcheckinTask.docheckedInBACkground(SubmitcheckinTask.java:1)
E/AndroidRuntime(21017): at com.github.droidfu.concurrent.betterAsyncTask.doInBACkground(BetterAsyncTask.java:154)
E/AndroidRuntime(21017): at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/AndroidRuntime(21017): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
E/AndroidRuntime(21017): ... 4 more
当在此代码中序列化评论时从’startModel()’到达’Stringer.object’行时:
package com.qype.radar.api.json;
import org.json.JSONException;
import org.json.JSONStringer;
import com.qype.radar.model.Review;
public class JsonserializationHelper {
private JSONStringer Stringer = new JSONStringer();
...
public String serializeReview(Review review) throws JSONException {
startModel("review");
value("rating",review.getrating());
value("language",review.getLanguage());
value("content",review.getText());
return endModel();
}
...
private JSONStringer startModel(String Name) throws JSONException {
Stringer.object();
Stringer.key(Name);
Stringer.object();
return Stringer;
}
private String endModel() throws JSONException {
Stringer.endObject();
Stringer.endObject();
return Stringer.toString();
}
private void value(String key,String value) throws JSONException {
Stringer.key(key);
Stringer.value(value);
}
private void value(String key,int value) throws JSONException {
Stringer.key(key);
Stringer.value(value);
}
}
关于这一点最奇怪的是代码编译很好,并且在调试时,JSONStringer对象被实例化为ok,但是对它的任何调用都会抛出此@L_607_1@.我也能够使用Java的反射发现该类确实存在,并且我可以从类对象中检索的方法都存在,并且可以无@L_607_1@地调用.
org.json包是Android中的标准,自API版本1起可用.
任何帮助解决这个问题将不胜感激,因为我根本不知道在哪里看.
如果你也在使用Maven,你可以通过使用maven-android-sdk-deployer部署SDK的android jar并从那里开始来解决这个问题.
以上是大佬教程为你收集整理的标准Android运行时对象上的NoMethodError全部内容,希望文章能够帮你解决标准Android运行时对象上的NoMethodError所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。