2015-09-02 2 views
0

Привет я хочу отправить данные на PHP сервере я имею parmeters какКак отправить данные на сервер в Android?

parameters:upid,product_id,pname,pquantity,price,pickup_date,pickup_time,name,email,mobile,address,location,pincode,total_amount 

я называю AsyncTask в моем классе активность

PlaceOrderTask placeOrderTask = new PlaceOrderTask(YourBasket.this,upid,"2", iconName,"200", "250.00", dateFormat,timeFormat, name,email,mobileNo,"Hyderbad",location, "500032", totalAmount); 
placeOrderTask.execute(); 

в Мой AsyncTask я позвоню Как это

  public class PlaceOrderTask extends AsyncTask 
     { 
       String upid, product_id, productName, productQuantity, pprice, date, time, 
         name, email, mobileNo, location, address, pincode, totalAmount; 
       private ProgressDialog pd = null; 
       Context context; 
       public PlaceOrderTask(Context context,String upid, String product_id, String productName, 
         String productQuantity, String pprice, String date, String time, 
         String name, String email, String mobileNo, String location, 
         String address, String pincode, String totalAmount) 
       { 
        this.context = context; 
        this.upid = upid; 
        this.product_id = product_id; 
        this.productName = productName; 
        this.productQuantity = productQuantity; 
        this.pprice = pprice; 
        this.date = date; 
        this.time = time; 
        this.name = name; 
        this.email = email; 
        this.mobileNo = mobileNo; 
        this.location = location; 
        this.address =address; 
        this.pincode =pincode; 
        this.totalAmount = totalAmount; 
        } 

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

     return null; 
    } 

    @Override 
    protected void onPreExecute() 
    { 
     pd = new ProgressDialog(context); 
     pd.setMessage("Please Wait....."); 

     super.onPreExecute(); 
    } 

    @Override 
    protected void onPostExecute(Object result) { 

     pd.dismiss(); 
     super.onPostExecute(result); 
    } 
    } 

То, что мы называем doInBackground и onPostExcute

and Here My url is like this 
http://safewash.docni.in/iosapp/order.php 

Это MyProblem ребята могут предложить любой из меня, как мы можем сделать это

+0

Пожалуйста, прочтите о AsyncTask перед использованием, что в приложении, с Google это вы получите больше учебник – Madhu

+0

не вы должны быть отправки данных в виде объекта JSON? –

+0

s я использую только данные json –

ответ

1

Async Задача для запросов сообщение типа:

import java.io.IOException; 
import java.net.UnknownHostException; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.StringEntity; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.util.EntityUtils; 

import android.os.AsyncTask; 

public class WebPostAsyncTask extends AsyncTask<String, String, String> 
{ 
    private String url = null; 
    private int id; 
    private OnResponseListener listener; 
    private String jsonString; 
    private String header = null; 
    private String headerKey; 

    public WebPostAsyncTask(String url, int id, OnResponseListener listener, String jsonString) 
    { 
     this.url = url; 
     this.id = id; 
     this.listener = listener; 
     this.jsonString = jsonString; 
    } 

    public WebPostAsyncTask(String url, int id, OnResponseListener listener, String jsonString, String header, String headerKey) 
    { 
     this.url = url; 
     this.id = id; 
     this.listener = listener; 
     this.jsonString = jsonString; 
     this.header = header; 
     this.headerKey = headerKey; 
    } 

    @Override 
    protected void onPreExecute() 
    { 
     super.onPreExecute(); 
    } 

    @Override 
    protected String doInBackground(String... params) 
    { 
     try 
     { 
      HttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 
      httpPost.setHeader("Content-Type", "application/json; charset=utf-8"); 

      if (header != null) 
      { 
       httpPost.addHeader(headerKey, header); 
      } 

      httpPost.setEntity(new StringEntity(jsonString, "UTF-8")); 
      HttpResponse httpResponse = httpClient.execute(httpPost); 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      String response = EntityUtils.toString(httpEntity); 
      return response; 
     } 
     catch (ClientProtocolException e) 
     { 
     } 
     catch (UnknownHostException e) 
     { 
     } 
     catch (IOException e) 
     { 
     } 
     catch (Exception e) 
     { 
     } 
     return null; 
    } 

    @Override 
    protected void onPostExecute(String result) 
    { 
     super.onPostExecute(result); 
     if (listener != null) 
     { 
      listener.onResponse(id, result); 
     } 
    } 

    public interface OnResponseListener 
    { 
     public void onResponse(int id, String response); 
    } 

} 

Чтобы использовать его в своей деятельности:

public class TrialActivity extends Activity 
{ 
    private static final int URL_ID = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     JSONObject jObject = new JSONObject(); 
     try 
     { 
      jObject.put("data1", "trial_data1"); 
      jObject.put("data2", "trial_data1"); 
     } 
     catch (JSONException e) 
     { 
     } 
     new WebPostAsyncTask("YOUR_URL_HERE", URL_ID, listener, jObject.toString()).execute(); 
    } 

    private OnResponseListener listener = new OnResponseListener() 
    { 
     @Override 
     public void onResponse(int id, String response) 
     { 

      switch (id) 
      { 
      case URL_ID: 
       // You will get your service response here 
      } 
     } 
    }; 
} 

Код довольно прост, если вы по-прежнему сталкиваетесь с какими-либо проблемами, напишите мне комментарий.

0

Попробуйте использовать jsoup library.

Пример:

new Thread(new Runnable() { 
@Override 
       public void run() { 
     Document doc = Jsoup.connect("http://your.url/ping").get().data("user",user ,"pwd" ,pwd).timeout(3000); 
             Element head = doc.head(); 
             Element body = doc.body(); 
     final String s = head.text() + body.text(); 
} 
    }).run(); 
Смежные вопросы