为了账号安全,请及时绑定邮箱和手机立即绑定

使用Android HttpURLConnection进行Http获取

使用Android HttpURLConnection进行Http获取

慕村9548890 2019-10-09 16:57:50
我是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));        }       }        }
查看完整描述

3 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

这是完整的AsyncTask课程


public class GetMethodDemo extends AsyncTask<String , Void ,String> {

    String server_response;


    @Override

    protected String doInBackground(String... strings) {


        URL url;

        HttpURLConnection urlConnection = null;


        try {

            url = new URL(strings[0]);

            urlConnection = (HttpURLConnection) url.openConnection();


            int responseCode = urlConnection.getResponseCode();


            if(responseCode == HttpURLConnection.HTTP_OK){

                server_response = readStream(urlConnection.getInputStream());

                Log.v("CatalogClient", server_response);

            }


        } catch (MalformedURLException e) {

            e.printStackTrace();

        } catch (IOException e) {

            e.printStackTrace();

        }


        return null;

    }


    @Override

    protected void onPostExecute(String s) {

        super.onPostExecute(s);


        Log.e("Response", "" + server_response);



    }

}


// Converting InputStream to String


private String readStream(InputStream in) {

        BufferedReader reader = null;

        StringBuffer response = new StringBuffer();

        try {

            reader = new BufferedReader(new InputStreamReader(in));

            String line = "";

            while ((line = reader.readLine()) != null) {

                response.append(line);

            }

        } catch (IOException e) {

            e.printStackTrace();

        } finally {

            if (reader != null) {

                try {

                    reader.close();

                } catch (IOException e) {

                    e.printStackTrace();

                }

            }

        }

        return response.toString();

    }

召唤这AsyncTask堂课


new GetMethodDemo().execute("your web-service url");


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 535 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信