在后台获取数据并在UI中显示

时间:2018-08-02 07:13:09

标签: android json android-volley

我正在使用凌空抽空,使用volley来获取数据并在用户界面中显示,因此加载数据需要花费时间。我想发生的是,我想在启动屏幕或加载屏幕期间在后台获取数据,并将其显示在用户interface中。我希望获取部分在另一个activity中完成,它应该是背景service,应该在“ main activity”中调用它以填充字段。

2 个答案:

答案 0 :(得分:0)

  

像这样使用AsyncTask

 private class LongOperation extends AsyncTask<String, Void, String>
   {

    @Override
    protected String doInBackground(String... params)
    {
       //do your work here 


        return "Executed";
    }

    @Override
    protected void onPostExecute(String result)
    {
        progressBar.dismiss();

    }

    @Override
    protected void onPreExecute()
    {
        progressBar = ProgressDialog.show(getActivity(), null, "message...");
        progressBar.show();
    }

    @Override
    protected void onProgressUpdate(Void... values)
    {
    }
}

答案 1 :(得分:0)

您可以尝试使用AsyncTask。因此过程如下:

Example的AsyncTask用法。

这样做:

private class LoadDataBaseData extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {
        //Start loading your data 

        return "Data loaded";
    }

    @Override
    protected void onPostExecute(String result) {
       //Update your UI with data you loaded/start your activity with loaded data

    }

    @Override
    protected void onPreExecute(){     
    }

    @Override
    protected void onProgressUpdate(Void... values) {
    }
}