如何显示'please wait'避免GUI挂起



我写了一个包含2个活动的应用程序。在第一个-我需要给用户选择从画廊和我发送这个图像到一些服务器的图像选项。服务器返回一些结果-如果结果是好的,我需要显示第二个活动。

我的问题是…

  1. 发送图像时-我看到屏幕变黑了…我想避免这种情况,并显示一些不错的GUI '请等待' -我怎么能做到这一点?

  2. 我想让这个发送图像到服务器从其他线程-我怎么能做到这一点从android ?如何定义新的回调线程,将调用时线程完成?

谢谢你的帮助。

使用asynctask。它会像这样:

public void sendImage() {
    SendToServer.execute();
}
protected class SendToServer extends AsyncTask<Void, Boolean, Void>
{    
    @Override
    protected void onPreExecute()
    {
        //display your dialog
    }
    @Override
    protected Boolean doInBackground(Void... arg0) {
        //code to send your image to the serve
    }
    @Override
    protected void onPostExecute (Boolean updateSuccess)
    {     
        //close your dialog
        //If image was successfully sent open your other activity
    }
}

第一题:

您应该使用ProgressDialogProgressBar,以便向用户显示正在执行的操作。欲了解更多信息,请访问:http://developer.android.com/reference/android/app/ProgressDialog.html

对于问题2:一个好的解决方案是使用AsyncTask进行此操作,它为您提供了一组回调函数来控制操作。欲了解更多信息,请访问:http://developer.android.com/reference/android/os/AsyncTask.html

希望这对现在有帮助!

  1. 你可以定义你的自定义布局和使用活动。setContentView方法把你想要的放到你的GUI中。例如,你可以放一个ProgressBar小部件

  2. 正如你所注意到的,你用Java SE编写了你的android应用程序。线程完全支持。

这个问题有一个解决问题的答案。用这个答案作为开始,如果你对某个特定的部分有任何问题,请告诉我们。

下载Android上的imageview图片

好运

最新更新