1

在我的 android 应用程序中,它收集一些数据和照片投掷手机。

之后,它将所有这些东西插入到一个对象中,然后将该对象发送到服务器。

在将此对象发送到服务器之前,我想向用户显示数据的大小以及用于将此数据发送到服务器的 killobyte 数量。这里我使用progressBar,它只显示数据正在发送到服务器。

这是我想要的,在首先将数据发送到服务器之前,它会显示数据的大小以及在启动 progressBar 之后如何传输数据以及重命名多少。

我正在发送这样的对象:

public class ServerData implements Serializable {
// some code
}
4

1 回答 1

2

一种方法是将其写入缓冲区流,找到其大小,然后将其作为字节数组写入您的服务器。

       ByteArrayOutputStream ostream = new ByteArrayOutputStream ();
           try {
              ObjectOutputStream obStream = new ObjectOutputStream(ostream);
              obStream.writeObject(yourObject);
              byte[] rawObject = ostream.toByteArray();
              ostream.close();

              int size = rawObject.length;
             //edit for your case
             OutputStream socketOut = socket.getOutputStream();
             socketOut.write(rawObject);
             socketOut.close();

        } catch (IOException e) {
        e.printStackTrace();
        }
于 2013-07-01T08:03:17.950 回答