xamarin.android是否支持Do​​wnloadHelper?

时间:2016-05-16 02:58:45

标签: xamarin xamarin.android

用户点击“下载文件”按钮即可开始下载。 Xamarin.Android应用程序利用ProgressBar小部件显示下载进度。

开始下载的按钮具有分配给它的Click事件的以下异步事件处理程序:

async void StartDownloadHandler(object sender, System.EventArgs e)
{
    _progressBar.Progress = 0;
    Progress<DownloadBytesProgress> progressReporter = new Progress<DownloadBytesProgress>();
    progressReporter.ProgressChanged += (s, args) => _progressBar.Progress = (int)(100 * args.PercentComplete);

    Task<int> downloadTask = DownloadHelper.CreateDownloadTask(DownloadHelper.ImageToDownload, progressReporter);
    int bytesDownloaded = await downloadTask;
    System.Diagnostics.Debug.WriteLine("Downloaded {0} bytes.", bytesDownloaded);
}

在前面的代码片段中,Progress封装了一个将更新ProgressBar的lambda,显示已下载的字节百分比。重要的是要意识到Progress将在它实例化的同一个SynchronizationContext中执行。因此,因为在UI线程上创建了Progress,所以它将在UI线程中运行。没有必要在提供的lambda中显式使用RunOnUIThread来更新UI。

我在xamarin.android上看不到DownloadHelper。我想创建一个下载方法

0 个答案:

没有答案