明天老师检查,我还没有解决这个空指针异常,急死我啦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

jiaojiao_huihui 2011-11-12 08:43:41
在电脑上面运行的好好的socket程序,放到Android上面就老出现空指针异常。。。。。。。。。。。。
明天老师要东西的时候,我怎么演示给他看啊,一堆的空指针异常!!!
我怎么办啊?找了好几个人都解决不了,难道是疑难绝症吗????????????
...全文
225 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingang1359 2011-11-17
  • 打赏
  • 举报
回复
就是new对象……
lingang1359 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jiaojiao_huihui 的回复:]
出现空指针异常的地方用红色标出。
public static Response sendTextRequest(Request request) throws IOException {
Response response = null;
try {
// 发送请求
System.out.println(request.getAttribute("id"));//有值
System.o……
[/Quote]

没找到这段代码里面有赋值给oos的代码,查下serverconfig.properties里面吧
lingang1359 2011-11-14
  • 打赏
  • 举报
回复
System.out.println(ClientDataBuffer.oos);//为空

只看这一句就知道oos必然没有初始化,也难怪报空了,检查一下逻辑吧,看看运行下来的时候这个oos初始化没有
jiaojiao_huihui 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 lingang1359 的回复:]

System.out.println(ClientDataBuffer.oos);//为空

只看这一句就知道oos必然没有初始化,也难怪报空了,检查一下逻辑吧,看看运行下来的时候这个oos初始化没有
[/Quote]
说了半天初始化oos,到底要怎样初始化它呢?我越来越糊涂了。
哪位给个初始化例子啊????
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
网络连接没有问题
xiaomiaode 2011-11-13
  • 打赏
  • 举报
回复
是不是网络连接问题,没有获取到数据,可以先进行网络检测,有网络就进行操作
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
出现空指针异常的地方用红色标出。
public static Response sendTextRequest(Request request) throws IOException {
Response response = null;
try {
// 发送请求
System.out.println(request.getAttribute("id"));//有值
System.out.println(request.getAttribute("pwdFld"));//有值
System.out.println(ClientDataBuffer.oos);//为空
ClientDataBuffer.oos.writeObject(request);
ClientDataBuffer.oos.flush();
System.out.println("客户端发送了请求对象:" + request.getAction());

ClientDataBufferhi是客户端缓存,
/** 客户端数据缓存 */
public class ClientDataBuffer
{
public static String currentUser; /** 当前客户端的用户信息 */
public static String onlineUsers;/** 在线用户列表 */
public static Socket clientSocket;/** 当前客户端连接到服务器的套节字 */
public static ObjectOutputStream oos;/** 当前客户端连接到服务器的输出流 */
public static ObjectInputStream ois;/** 当前客户端连接到服务器的输入流 */
public static Properties configProp;/** 服务器配置参数属性集 */
//public static Dimension screenSize;/** 当前客户端的屏幕尺寸 */
public static String ip ;/** 本客户端的IP地址 */
public static final int RECEIVE_FILE_PORT = 6666;/** 用来接收文件的端口 */
static{
//screenSize = Toolkit.getDefaultToolkit().getScreenSize();
configProp = new Properties();//加载服务器配置文件
try {
ip = InetAddress.getLocalHost().getHostAddress();
configProp.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("serverconfig.properties"));
} catch (IOException e) {e.printStackTrace();}
}
private ClientDataBuffer(){
clientSocket = new Socket();

}
}
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
这一些程序我用在PC版客户端上,都是运行良好的,莫非是在Android上,socket的使用方法有所不同?
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
出现空指针异常的地方用红色标出。
public static Response sendTextRequest(Request request) throws IOException {
Response response = null;
try {
// 发送请求
System.out.println(request.getAttribute("id"));
System.out.println(request.getAttribute("pwdFld"));
ClientDataBuffer.oos.writeObject(request);
ClientDataBuffer.oos.flush();
System.out.println("客户端发送了请求对象:" + request.getAction());
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 beyondma 的回复:]

System.out.println(ClientDataBuffer),ClientDataBuffer这个是空吗?
[/Quote]

ClientDataBuffer不能打印,
System.out.println(ClientDataBuffer)会显示错误
beyondma 2011-11-13
  • 打赏
  • 举报
回复
System.out.println(ClientDataBuffer),ClientDataBuffer这个是空吗?
woshiweiwei11 2011-11-13
  • 打赏
  • 举报
回复
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复

System.out.println(request.getAttribute("id"));//有值
System.out.println(request.getAttribute("pwdFld"));//有值
System.out.println(ClientDataBuffer.oos);//为空


这些都是我打印的,在出现异常的那句话中ClientDataBuffer.oos.writeObject(request);
我已经把能打印的都打印了,从结果来看,肯定是ClientDataBuffer.oos.出现的异常,所以我就在试了一下:
ObjectOutputStream oos;
oos.writeObject(request);

结果还是为空,所以我判断不是oos出现的空指针异常,那么就只剩下ClientDataBuffer了,上面我已经吧ClientDataBuffer.java的代码贴出来了,我实在看不出里面有什么问题,
甜tianquan 2011-11-13
  • 打赏
  • 举报
回复
你自己打印一下,看看,到底哪个地没取到值
jiaojiao_huihui 2011-11-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 beyondma 的回复:]

到底谁空,那个对象?ClientDataBuffer?这个吗
[/Quote]

我就是确定不了到底哪个为空,所以才解决不了这个问题的。
这是错误日志:
11-13 08:29:26.107: ERROR/AndroidRuntime(374): java.lang.NullPointerException
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at com.Client.ClientUtil.sendTextRequest(ClientUtil.java:17)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at com.Client.LoginActivity$2.onClick(LoginActivity.java:88)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.view.View.performClick(View.java:2485)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.view.View$PerformClick.run(View.java:9080)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.os.Handler.handleCallback(Handler.java:587)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.os.Handler.dispatchMessage(Handler.java:92)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.os.Looper.loop(Looper.java:123)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at android.app.ActivityThread.main(ActivityThread.java:3683)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at java.lang.reflect.Method.invokeNative(Native Method)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at java.lang.reflect.Method.invoke(Method.java:507)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-13 08:29:26.107: ERROR/AndroidRuntime(374): at dalvik.system.NativeStart.main(Native Method)
guonanyun 2011-11-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]

引用 1 楼 xqhrs232 的回复:

什么样的错误?要我们来猜吗?

+1

LZ你能提供些程序信息、错误位置么
[/Quote]
+1
LZ可否提供错误日志

应该是oos这个静态成员变量初始化的地方有问题,楼主可否查看一下相应的代码
beyondma 2011-11-13
  • 打赏
  • 举报
回复
到底谁空,那个对象?ClientDataBuffer?这个吗
messi006 2011-11-12
  • 打赏
  • 举报
回复
就不能把异常粘出来?
督门提码 2011-11-12
  • 打赏
  • 举报
回复
在哪里啊 程序?
jiaojiao_huihui 2011-11-12
  • 打赏
  • 举报
回复
程序信息见帖子:

那一解决的Socket空指针异常,大家帮我看一吧!!!!!!!!!!!!!!!!!!!!!!!!!!!! [移动平台 Android]
加载更多回复(2)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧