使用Android HttpURLConnection进行Http获取

我是Java和Android开发的新手,尝试创建一个简单的应用程序,该应用程序应与Web服务器联系并使用http get将一些数据添加到数据库中。


当我在计算机上使用网络浏览器拨打电话时,它工作正常。但是,当我进行在Android模拟器中运行应用程序的通话时,不会添加任何数据。


我已将Internet权限添加到该应用的清单中。Logcat不报告任何问题。


谁能帮助我找出问题所在?


这是源代码:


package com.example.httptest;


import java.io.IOException;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.widget.TextView;


public class HttpTestActivity extends Activity {

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);


        TextView tv = new TextView(this);

        setContentView(tv);


        try {

            URL url = new URL("http://www.mysite.se/index.asp?data=99");

            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

            urlConnection.disconnect();

            tv.setText("Hello!");

        }

        catch (MalformedURLException ex) {

            Log.e("httptest",Log.getStackTraceString(ex)); 

        }

        catch (IOException ex) {

            Log.e("httptest",Log.getStackTraceString(ex));

        }   

    }        

}


慕村9548890
浏览 541回答 3
3回答

慕勒3428872

这是完整的AsyncTask课程public class GetMethodDemo extends AsyncTask<String , Void ,String> {&nbsp; &nbsp; String server_response;&nbsp; &nbsp; @Override&nbsp; &nbsp; protected String doInBackground(String... strings) {&nbsp; &nbsp; &nbsp; &nbsp; URL url;&nbsp; &nbsp; &nbsp; &nbsp; HttpURLConnection urlConnection = null;&nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; url = new URL(strings[0]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; urlConnection = (HttpURLConnection) url.openConnection();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int responseCode = urlConnection.getResponseCode();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(responseCode == HttpURLConnection.HTTP_OK){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; server_response = readStream(urlConnection.getInputStream());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Log.v("CatalogClient", server_response);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; } catch (MalformedURLException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; } catch (IOException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return null;&nbsp; &nbsp; }&nbsp; &nbsp; @Override&nbsp; &nbsp; protected void onPostExecute(String s) {&nbsp; &nbsp; &nbsp; &nbsp; super.onPostExecute(s);&nbsp; &nbsp; &nbsp; &nbsp; Log.e("Response", "" + server_response);&nbsp; &nbsp; }}// Converting InputStream to Stringprivate String readStream(InputStream in) {&nbsp; &nbsp; &nbsp; &nbsp; BufferedReader reader = null;&nbsp; &nbsp; &nbsp; &nbsp; StringBuffer response = new StringBuffer();&nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader = new BufferedReader(new InputStreamReader(in));&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String line = "";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; while ((line = reader.readLine()) != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; response.append(line);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; } catch (IOException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; } finally {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (reader != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; reader.close();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } catch (IOException e) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return response.toString();&nbsp; &nbsp; }召唤这AsyncTask堂课new GetMethodDemo().execute("your web-service url");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java