回答

-1

使用AsyncTask,它具有PreExecute在後臺作業之前啓動任務,在後臺作業之後執行PostExecute來完成一些任務。

在我的例子中,我在preexecute中做了一個進度對話框並開始。在完成了整個場地排球的請求後,它將在後期執行中解散。

private class initoffline extends AsyncTask<String, String, String> { 

     private String resp; 
     private ProgressDialog pDialog; 

     @Override 
     protected void onPreExecute() { 
      pDialog = new ProgressDialog(SplashActivity.this); 
      pDialog.setMessage("First Initializing..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(false); 
      pDialog.show(); 
     } 

     @Override 
     protected String doInBackground(String... params) { 

      StringRequest stringRequest = new StringRequest(URL1, 
        new Response.Listener<String>() { 
         @Override 
         public void onResponse(String response) { 
          SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE); 
          SharedPreferences.Editor editor = pref.edit(); 
          editor.putString("OFFLINEPROJECT", response); 
          editor.apply(); 
          Log.e("Req 1", response); 
         } 
        }, 
        new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 

         } 
        }); 
     StringRequest stringRequest1 = new StringRequest(URL2", 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE); 
         SharedPreferences.Editor editor = pref.edit(); 
         editor.putString("OFFLINEFLATNAMES", response); 
         editor.apply(); 
         Log.e("Req 2", response); 
        } 
       }, 
        new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 

         } 
        }); 
      StringRequest stringRequest2 = new StringRequest(URL3, 
        new Response.Listener<String>() { 
         @Override 
         public void onResponse(String response) { 
          SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE); 
          SharedPreferences.Editor editor = pref.edit(); 
          editor.putString("OFFLINEIMAGE", response); 
          editor.apply(); 
          Log.e("Req 3", response); 
         } 
        }, 
        new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 

         } 
        }); 
      StringRequest stringRequest3 = new StringRequest(URL4, 
        new Response.Listener<String>() { 
         @Override 
         public void onResponse(String response) { 
          SharedPreferences pref = getApplicationContext().getSharedPreferences("MirSP", Context.MODE_PRIVATE); 
          SharedPreferences.Editor editor = pref.edit(); 
          editor.putString("OFFLINEVIDEO", response); 
          editor.apply(); 
          Log.e("Req 4", response); 
         } 
        }, 
        new Response.ErrorListener() { 
         @Override 
         public void onErrorResponse(VolleyError error) { 

         } 
        }); 
      RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); 
      requestQueue.add(stringRequest); 
      requestQueue.add(stringRequest1); 
      requestQueue.add(stringRequest2); 
      requestQueue.add(stringRequest3); 


      return resp; 
     } 

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


     } 
    }