我使用Channel Api
发送文件(我的android处理的文件最多100Mo)。
我决定创建一个处理程序来更新转移的进度,以便用户知道进度。
我使用Message Api
将文件大小发送到我的处理文件,并且每隔x毫秒更新一次文件大小的进度检查。
问题是,我不知道这是否是做我想要的好方法,其次,由于它是异步的,我必须等待我在发送文件之前正确接收了onMessageReceived
中的文件大小。
答案 0 :(得分:1)
如果您使用的是ChannelApis,则可以使用低级版本的传输(使用输出流和输入流),然后在发送方,您可以使用写入输出流的金额更新进度条。如果您使用的是sendFile()方法,则无法查看发件人方面的进度,因此您需要使用Message Apis进行报告,如您所做的那样。你可能决定让它变得更聪明一些,而不是在x毫秒时做到这一点;如果您拥有整个文件的大小,如果进度条中的视觉更改不会太多或不明显,您可能不希望发送消息;换句话说,尽量减少通信次数。