2016-05-05 63 views

回答

1

使用AsyncHttpClient与您.gradle文件进度

过程中添加compile 'com.loopj.android:android-async-http:1.4.6'

现在创建一个服务类,并声明它你的androidmanifest.xml

下一页在onStartCommand在服务类:

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Log.e(TAG, "onStartCommand"); 

    try { 

     AsyncHttpClient client = new AsyncHttpClient(); 
     client.setURLEncodingEnabled(true); 

     client.post(this, url, params, new AsyncHttpResponseHandler() { 
      @Override 
      public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { 

        // you code here after the work is done      

       stopService(); 
      } 

      @Override 
      public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { 

       //your code here 
       stopService(); 

      } 

      @Override 
      public void onProgress(int bytesWritten, int totalSize) { 
       super.onProgress(bytesWritten, totalSize); 
       Log.e("Progess", "" + (bytesWritten/totalSize) * 100 + "%"); 

      } 
     }); 


    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

    return super.onStartCommand(intent, flags, startId); 
} 

,并从活动通话

startService(serviceIntent); 
1

使用publishProgressdoInBackground()

protected Void doInBackground(Integer... params) 
{ 
    publishProgress("Loading Questions... Please wait..."+per); 
    ... 
} 
+0

发布你的进步那是我所做的是int it? –