android – 将对象传递给远程服务的Parcel.readException

android – 将对象传递给远程服务的Parcel.readException,第1张

概述我写了一个远程服务,客户端可以使用 Android提供的IPC的常规机制登录,绑定似乎工作.当我去调用一个方法,我必须传递一个对象作为一个参数,因为我得到这个“好奇”的异常出现问题: 10-19 15:09:04.601: ERROR/AndroidRuntime(2985): FATAL EXCEPTION: main 10-19 15:09:04.601: ERROR/AndroidRun 我写了一个远程服务,客户端可以使用 Android提供的IPC的常规机制登录,绑定似乎工作.当我去调用一个方法,我必须传递一个对象作为一个参数,因为我得到这个“好奇”的异常出现问题:
10-19 15:09:04.601: ERROR/AndroIDRuntime(2985): FATAL EXCEPTION: main  10-19 15:09:04.601: ERROR/AndroIDRuntime(2985): java.lang.NullPointerException  10-19 15:09:04.601: ERROR/AndroIDRuntime(2985): at androID.os.Parcel.readException(Parcel.java:1253)   10-19 15:09:04.601: ERROR/AndroIDRuntime(2985):at androID.os.Parcel.readException(Parcel.java:1235)  10-19 15:09:04.601: ERROR/AndroIDRuntime(2985): at it.domod.commons.interfaces.DeviceManager$Stub$Proxy.sendCommand(DeviceManager.java:121)

它似乎是从.aIDl文件生成的代理类中抛出的.

更奇怪的是,对象似乎被正确传递,但是可能是有问题的.任何想法?

解决方法 我一直在遇到这个问题,经过一段时间的打扰发现问题.我会发布我的解决方案,以防其他人发现在同一条船上漂流.

首先调试远程线程在Eclipse中不起作用,除非您启用远程服务的调试.要做到这一点,我需要运行应用程序,并在我的第一个活动中放置一个断点,只要绑定服务,一旦服务启动并运行,我打开eclipse中的DDMS窗口并选择远程线程并按调试按钮.现在可以跳回到java窗口,并将断点添加到远程服务并触发它们.

从那里我发现我的问题实际上是我在远程进程中的stub函数中的空指针对象上进行 *** 作,而这个对象在返回的结果中又引用了nullpointerexception的一个包裹异常,并且看起来像是原来的问题.关于.

我的解决方案只是在使用它之前测试对象不为空:)

即我在实现stub函数时添加了’if’语句.

if( myobject != null ){   myobject.dosomething() }
总结

以上是内存溢出为你收集整理的android – 将对象传递给远程服务的Parcel.readException全部内容,希望文章能够帮你解决android – 将对象传递给远程服务的Parcel.readException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1132054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存