2016-12-26 174 views
0

我有錯誤:如何解決這個有這個makeHttpRequest錯誤的錯誤?

Error:(102, 53) error: cannot find symbol method makeHttpRequest(String,String,List<NameValuePair>) 

我似乎無法刪除,甚至亂投醫,我知道後..請幫助..謝謝你在前進..

這是活動代碼:

EditProductActivity.java:

package com.example.vikrant.testingv3; 
import java.util.ArrayList;  
import java.util.List;  
import java.io.BufferedReader;  
import java.io.DataOutputStream; 
import java.io.InputStreamReader;  
import java.net.HttpURLConnection; 
import java.net.URL; 
import org.apache.http.NameValuePair; 
import org.apache.http.message.BasicNameValuePair; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
import org.json.simple.parser.JSONParser; 
import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class EditProductActivity extends Activity{ 

    EditText txtName; 
    EditText txtPrice; 
    EditText txtDesc; 
    EditText txtCreatedAt; 
    Button btnSave; 
    Button btnDelete; 

    String pid; 
    private ProgressDialog pDialog; 
    JSONParser jsonParser = new JSONParser(); 

    private static final String url_product_detials = "http://localhost/android_connect/get_product_details.php"; 

    private static final String url_update_product = "http://localhost/android_connect/update_product.php"; 

    private static final String url_delete_product = "http://localhost/android_connect/delete_product.php"; 

    private static final String TAG_SUCCESS = "success"; 
    private static final String TAG_PRODUCT = "product"; 
    private static final String TAG_PID = "pid"; 
    private static final String TAG_NAME = "name"; 
    private static final String TAG_PRICE = "price"; 
    private static final String TAG_DESCRIPTION = "description"; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.edit_product); 
     btnSave = (Button) findViewById(R.id.btnSave); 
     btnDelete = (Button) findViewById(R.id.btnDelete); 
     Intent i = getIntent(); 
     pid = i.getStringExtra(TAG_PID); 
     new GetProductDetails().execute(); 
     btnSave.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       new SaveProductDetails().execute(); 
      } 
     }); 
     btnDelete.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View arg0) { 
       new DeleteProduct().execute(); 
      } 
     }); 
    } 





    class GetProductDetails extends AsyncTask<String, String, String> { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(EditProductActivity.this); 
      pDialog.setMessage("Loading product details. Please wait..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.show(); 
     } 

     protected String doInBackground(String... params) { 
      runOnUiThread(new Runnable() { 
       public void run() { 
        int success; 
        try { 
         List<NameValuePair> params = new ArrayList<NameValuePair>(); 
         params.add(new BasicNameValuePair("pid", pid)); 

         JSONObject json = jsonParser.makeHttpRequest(url_product_detials, "GET", params); 

         Log.d("Single Product Details", json.toString()); 
         success = json.getInt(TAG_SUCCESS); 
         if (success == 1) { 
          JSONArray productObj = json 
            .getJSONArray(TAG_PRODUCT); 

          JSONObject product = productObj.getJSONObject(0); 


          txtName = (EditText) findViewById(R.id.inputName); 
          txtPrice = (EditText) findViewById(R.id.inputPrice); 
          txtDesc = (EditText) findViewById(R.id.inputDesc); 


          txtName.setText(product.getString(TAG_NAME)); 
          txtPrice.setText(product.getString(TAG_PRICE)); 
          txtDesc.setText(product.getString(TAG_DESCRIPTION)); 

         }else{ 
         } 
        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }); 
      return null; 
     } 
     protected void onPostExecute(String file_url) { 
      // dismiss the dialog once got all details 
      pDialog.dismiss(); 
     } 
    } 

    class SaveProductDetails extends AsyncTask<String, String, String> { 
     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(EditProductActivity.this); 
      pDialog.setMessage("Saving product ..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.show(); 
     } 


     protected String doInBackground(String... args) { 
      String name = txtName.getText().toString(); 
      String price = txtPrice.getText().toString(); 
      String description = txtDesc.getText().toString(); 

      List<NameValuePair> params = new ArrayList<NameValuePair>(); 
      params.add(new BasicNameValuePair(TAG_PID, pid)); 
      params.add(new BasicNameValuePair(TAG_NAME, name)); 
      params.add(new BasicNameValuePair(TAG_PRICE, price)); 
      params.add(new BasicNameValuePair(TAG_DESCRIPTION, description)); 

      JSONObject json = jsonParser.makeHttpRequest(url_update_product, "POST", params); 
      try { 
       int success = json.getInt(TAG_SUCCESS); 

       if (success == 1) { 
        Intent i = getIntent(); 
        setResult(100, i); 
        finish(); 
       } else { 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     protected void onPostExecute(String file_url) { 
      // dismiss the dialog once product uupdated 
      pDialog.dismiss(); 
     } 
    } 

    class DeleteProduct extends AsyncTask<String, String, String> { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(EditProductActivity.this); 
      pDialog.setMessage("Deleting Product..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.show(); 
     } 


     protected String doInBackground(String... args) { 
      int success; 
      try { 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("pid", pid)); 

       JSONObject json = jsonParser.makeHttpRequest(url_delete_product, "POST", params); 
       Log.d("Delete Product", json.toString()); 
       success = json.getInt(TAG_SUCCESS); 
       if (success == 1) { 
        Intent i = getIntent(); 
        setResult(100, i); 
        finish(); 
       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
      return null; 
     } 
     protected void onPostExecute(String file_url) { 
      // dismiss the dialog once product deleted 
      pDialog.dismiss(); 
     } 
    } 
} 

而且我JSONParser.java是:

package com.example.vikrant.testingv3; 

import java.io.BufferedReader;  
import java.io.IOException; 
import java.io.InputStream;  
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException;  
import java.util.List;  
import java.io.BufferedReader;  
import java.io.DataOutputStream; 
import java.io.InputStreamReader; 
import java.net.HttpURLConnection; 
import java.net.URL; 
import javax.net.ssl.HttpsURLConnection; 
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.client.utils.URLEncodedUtils;  
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONException; 
import org.json.JSONObject;  
import org.json.JSONArray; 
import android.util.Log; 

public class JSONParser { 

    static InputStream is = null; 
    static JSONObject jObj = null; 
    static String json = ""; 

    public JSONParser() { 
    } 
    public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) { 
     try { 
      if(method == "POST"){ 
       DefaultHttpClient httpClient = new DefaultHttpClient(); 
       HttpPost httpPost = new HttpPost(url); 
       httpPost.setEntity(new UrlEncodedFormEntity(params)); 

       HttpResponse httpResponse = httpClient.execute(httpPost); 
       HttpEntity httpEntity = httpResponse.getEntity(); 
       is = httpEntity.getContent(); 
      }else if(method == "GET"){ 
       DefaultHttpClient httpClient = new DefaultHttpClient(); 
       String paramString = URLEncodedUtils.format(params, "utf-8"); 
       url += "?" + paramString; 
       HttpGet httpGet = new HttpGet(url); 

       HttpResponse httpResponse = httpClient.execute(httpGet); 
       HttpEntity httpEntity = httpResponse.getEntity(); 
       is = httpEntity.getContent(); 
      } 
     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      json = sb.toString(); 
     } catch (Exception e) { 
      Log.e("Buffer Error", "Error converting result " + e.toString()); 
     } 
     try { 
      jObj = new JSONObject(json); 
     } catch (JSONException e) { 
      Log.e("JSON Parser", "Error parsing data " + e.toString()); 
     } 
     return jObj; 
    } 
} 
+0

你使用哪個構建工具? –

回答

1

您在活動中使用了錯誤的JSONParser導入。

刪除您

import org.json.simple.parser.JSONParser;

,並添加

import com.example.vikrant.testingv3.JSONParser來代替。

+0

非常感謝.. –

+0

很高興幫助你:) – Hetfieldan24

0

您應該導入yourpackagename.JSONParser而不是.. @ J.Doe我在所有products.java中都有錯誤。它是一個

+0

*「it sa」*?什麼? – Pang