Java 从android应用程序(客户端)向计算机(服务器)发送自定义对象

Java 从android应用程序(客户端)向计算机(服务器)发送自定义对象,java,android,networking,Java,Android,Networking,我试图将一个对象从我的android手机发送到我的计算机,但我一直收到这样一个错误,它无法识别这个对象的类。这很奇怪,因为当我试图将一个对象从计算机发送到它自己时,它使用相同的方式工作。这两个包都有User类,它实现了Serializable。请告诉我为什么会这样 计算机(服务器): 电话(客户): 这是控制台日志: waiting for connection... you are now conected Setting up Streams.. Dont recognize the cla

我试图将一个对象从我的android手机发送到我的计算机,但我一直收到这样一个错误,它无法识别这个对象的类。这很奇怪,因为当我试图将一个对象从计算机发送到它自己时,它使用相同的方式工作。这两个包都有User类,它实现了Serializable。请告诉我为什么会这样

计算机(服务器):

电话(客户):

这是控制台日志:

waiting for connection...
you are now conected
Setting up Streams..
Dont recognize the class
the user Exception in thread "main" java.lang.NullPointerException
at whosUsing.whosUsing.brains(whosUsing.java:34)
at whosUsing.test.main(test.java:9)

如果客户机和服务器中的某个类不在完全相同的包中,则系统将无法识别通过的类

将User.java文件放在同一个包中:“com.myapp.shared.User”。这应该能解决你的问题


有关类似问题,请参阅。

请确保手机上客户端的包名和类名必须与计算机上服务器端的包名和类名完全相同。 看看这个。希望能有所帮助


两个用户类是否存在于完全相同的包中?看,这应该是一个评论,而不是一个答案
private User user;
private Socket connection;
private ObjectOutputStream output;

public void run() {

    try{
    connection = new Socket (InetAddress.getByName(ip), 4567);
    output = new ObjectOutputStream(connection.getOutputStream()) ;

    user = new User("bla bla", "14:09");
    output.writeObject(user);
    output.flush();



    }catch(Exception e){
        System.out.print(e);
    }finally{
        try{
        output.close();
        connection.close();
        }
    catch(Exception e){
        System.out.print(e);
    }




    }



}
waiting for connection...
you are now conected
Setting up Streams..
Dont recognize the class
the user Exception in thread "main" java.lang.NullPointerException
at whosUsing.whosUsing.brains(whosUsing.java:34)
at whosUsing.test.main(test.java:9)