2013-04-23 6 views
0

Я искал, но не нашел реализации метода, который позволяет сделать HTTP-запрос, получающий как URL, так и данные в качестве параметров функции.Android: реализация метода повторного использования HTTP Async

Я имею в виду, что все образцы, которые я нашел, предназначены для определенного набора параметров, и мне нужно получить метод AsyncTask URL и массив с данными, но как передать URL-адрес (строка) и параметр post data (array)?

Любая помощь или ссылка будут оценены.

+0

Попробуйте HTTP : //stackoverflow.com/questions/14253421/how-one-interface-can-be-used-for-different-background-android-tasks/14376233#14376233 – Pragnani

ответ

0

Я использую следующий образец для подобных случаев:

import java.util.List; 
import org.apache.http.NameValuePair; 
import android.os.AsyncTask; 

public class AsyncHttpPostTask extends AsyncTask<Void, Void, Boolean> { 

    private List<NameValuePair> httpPostParams; 
    private String postHref; 
    private String someOtherValue; 

    public AsyncHttpPostTask(final String postHref, final List<NameValuePair> httpPostParams, final String someOtherValue) { 
     super(); 
     this.postHref = postHref; 
     this.httpPostParams = httpPostParams; 
     this.someOtherValue = someOtherValue; 
    } 

    @Override 
    protected Boolean doInBackground(final Void... params) { 
     // Use httpPostParams (or any other values you supplied to a constructor) in your actual Http post here 
     // ... 
     return true; 
    } 
} 

Чтобы использовать AsyncTask, создать экземпляр питающих необходимые параметры для конструктора, и вызов выполнить():

new AsyncHttpPostTask("http://example.com/post", httpPostParams, otherValue).execute(); 
+0

Это замечательно !!! Большое спасибо Рахим. – betuto92