java - 在Android中快速发送大文件

标签 java android android-asynctask

我想发送 18 mb 数据。这是工作。但我等了太久才收到电子邮件。

代码:

public void sendEmail()
{
    emailSendReceiver = new EmailSendBroadcastReceiver();
    EmailSend emailSend = new EmailSend();
    emailSend.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}

public class EmailSend extends AsyncTask<Void, Void, Boolean>
{
    @Override
    protected Boolean doInBackground(Void... params)
    {
        boolean bResult = false;
        String sDeviceID = configReader.getXmlValue(KEY_ID);
        Mail m = new Mail("test@gmail.com", "testpass");
        String[] toArr = {"toEmail@gmail.com"};
        m.setTo(toArr); 
        m.setFrom("noreply@something.com"); 
        m.setSubject("device number : "+sDeviceID ); 
        m.setBody("device number : "+sDeviceID);
        try
        {
            String sTxtFileName = sDeviceID+"_"+".txt";
            String sFileUrl = Environment.getExternalStorageDirectory().getAbsolutePath()+"/data_source/"+sTxtFileName;
            m.addAttachment(sFileUrl);
            if(m.send())
            {
                bResult = true;
            }
            else
            {
                // something
            }
        }
        @Override
        protected void onPostExecute(Boolean result)
        {
            super.onPostExecute(result);
            if(result == true)
            {
                // something
            }
        }
    }
}

问题是。我怎样才能让它更快?我有 6 个 AsyncTask。而且我不喜欢通过 Activity 来实现它。

最佳答案

正如所有人的建议,压缩或 gzip 文件会很方便。

中也有同样的功能 java.util.zip* 包裹。此外,您可以找到相同的帮助 here

关于java - 在Android中快速发送大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24777778/

相关文章:

android - 如何使用 Arrow 创建自己的数据类型

Android - 图像按钮大小

java - 如何在 Android 中将 Swingworker 更改为 AsyncTask?

Android:将字符串传递给 asyncTask

java - 类不是抽象的,并且不会覆盖 ParseCallback2 中的抽象方法 done(Object,Throwable)

java - 如何在嵌入式 jetty 服务器中设置默认页面

java - 使用 android studio 构建 Selenium 项目失败

android - ArrayList 突然变为 null,以前不是 null

java - Spring为构造函数注入(inject)依赖

java - EAR 文件需要有一个包含所有 jar 的 list 吗?