namevaluepair未解析为某种类型

时间:2014-01-15 11:57:06

标签: android

我在android中有一个非常简单的程序。它给出了一个错误,即namevaluepair无法解析为一个类型。我是android的新手。我已经添加了我认为会纠正问题的导入语句

 import java.io.IOException;
import java.io.UnsupportedEncodingException;
 import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
 import java.util.ArrayList;

 import android.os.Bundle;
 import android.app.Activity;
  import android.util.Log;
 import android.view.Menu;
 import org.apache.http.message.*;


 public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    // Creating HTTP client
    HttpClient httpClient = new DefaultHttpClient();
    // Creating HTTP Post
    HttpPost httpPost = new HttpPost(
            "http://www.example.com/login");

    // Building post parameters
    // key and value pair
    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
    nameValuePair.add(new BasicNameValuePair("email", "user@gmail.com"));
    nameValuePair.add(new BasicNameValuePair("message",
            "Hi, trying Android HTTP post!"));

    // Url Encoding the POST parameters
    try {
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
    } catch (UnsupportedEncodingException e) {
        // writing error to Log
        e.printStackTrace();
    }

    // Making HTTP Request
    try {
        HttpResponse response = httpClient.execute(httpPost);

        // writing response to log
        Log.d("Http Response:", response.toString());
    } catch (ClientProtocolException e) {
        // writing exception to log
        e.printStackTrace();
    } catch (IOException e) {
        // writing exception to log
        e.printStackTrace();

    }
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

3 个答案:

答案 0 :(得分:0)

您在顶部导入的类型为BasicNameValuePair,但您的代码是否创建了List<NameValuePair>

答案 1 :(得分:0)

尝试用NameValuePair替换你的BasicNameValuePair。

答案 2 :(得分:0)

 - try this method its may help you




     public void callWebService(ArrayList<String> data1,String refId){  
                HttpClient httpclient = null;
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

   nameValuePairs.add(new BasicNameValuePair("RefNo",refId));
                                     nameValuePairs.add(newBasicNameValuePair("Front_Bumper",data1.get(0)));
 nameValuePairs.add(new BasicNameValuePair("Grills",data1.get(1)));
                nameValuePairs.add(newBasicNameValuePair("Head_Lamp",data1.get(2)));


                try{
                    httpclient = new DefaultHttpClient();
                    HttpPost httppost = new HttpPost(URL);
                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response = httpclient.execute(httppost);
                    String the_string_response = convertResponseToString(response);
                }catch(Exception e){
                    System.out.println( "0" + e.getMessage());
                    System.out.println("Error in http connection "+e.toString());
                }
                httpclient.getConnectionManager().shutdown();  
            }