Http请求android

Http请求android,android,xmlhttprequest,Android,Xmlhttprequest,我试图将EditText中的信息发布到url中,然后在应用程序上显示来自web服务器的信息。我尝试了几种不同的方法来实现这一点,但每次尝试都会收到不同的错误消息 我想这与我是否在编写url有关,但我不知道该放在哪里,有什么想法吗 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m

我试图将EditText中的信息发布到url中,然后在应用程序上显示来自web服务器的信息。我尝试了几种不同的方法来实现这一点,但每次尝试都会收到不同的错误消息

我想这与我是否在编写url有关,但我不知道该放在哪里,有什么想法吗

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

  Button button1 = (Button) findViewById(R.id.send_button);
  final EditText post = (EditText) findViewById(R.id.edit);


  button1.setOnClickListener(new OnClickListener() 
  {

      public void onClick(View v)
      { 

        System.out.println(executeHttpGetRequest("http://free.worldweatheronline.com/feed/weather.ashx?q="+ post.getText().toString() + "&format=json&num_of_days=2&key=9e87fcbce7114648121009"));

     }
  });

}  

private static String executeHttpGetRequest(String desiredUrl) throws Exception
{
    URL url = null;
    BufferedReader reader = null;
    StringBuilder stringBuilder;

    try
    {
        url = new URL(desiredUrl);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        connection.setRequestMethod("GET");

        connection.setReadTimeout(15*1000);
        connection.connect();

        reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        stringBuilder = new StringBuilder();

        String line = null;
        while ((line = reader.readLine()) != null)
        {
            stringBuilder.append(line + "\n");
        }

        return stringBuilder.toString();
    }
        catch (Exception e)
        {
            e.printStackTrace();
            throw e;
        }
        finally
        {
            if (reader != null)
            {
                try
                {
                    reader.close();
                }
                catch (IOException ioe)
                {
                    ioe.printStackTrace();
                }
            }
        }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

上面版本的代码会显示什么错误消息?我在url的行上看到一条“Unhandled exception type exception”的错误消息,我想我把它放错了位置,但不知道它应该放在哪里。等等,这是编译器警告,不是代码引发的错误?您正在从
executeHttpGetRequest
中引发一个异常,该异常不是由try/catch块处理的,也不是由调用方法引发的。重构代码,1)不从
executeHttpGetRequest
抛出异常,或2)捕获并处理
executeHttpGetRequest
抛出的异常,这就是我试图做的,但我不知道如何做,我是开发android的新手,这是我的第一个应用程序,这就是我需要帮助的原因。在这种情况下,移除你的
抛出e呼叫。然后添加一个
返回“”在最后一个块结束后。同时从方法声明中删除
抛出异常。