0

我有一个应用程序,它将从网络下载文件。通过单击按钮触发下载操作,然后它将启动一个新线程来下载此文件。

我现在要做的是测试下载是否成功。
所以我写了以下测试代码:

private void testGenerateFile() throws Exception {
    try {
        runTestOnUiThread(new Runnable() {
            @Override
            public void run() {
                ((EditText)mActivity.findViewById(R.id.edit_server)).setText("http://192.168.120.248/phonebook.xml");
                click(R.id.ok);
            }
        });
    } catch (Throwable e) {
    }
}

但是执行后,文件还没有下载。但是如果我Thread.sleep(2000)在最后添加,文件就会生成。但我认为这不是一个适当的解决方案。你能帮助我吗?谢谢。

4

1 回答 1

1

如果您知道文件下载到的位置以及文件的大小,则可以定期检查(直到预定义的持续时间)正在创建和下载的文件。如果文件大小符合原始大小,您可以假设文件已成功下载。

于 2012-06-12T06:05:38.700 回答