Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本androidhttpget_Android_Http - Fatal编程技术网

基本androidhttpget

基本androidhttpget,android,http,Android,Http,我是安卓的编程高手,但在一些程序的帮助下,我可以学到一些基础知识。我想对arduino ethernetshield执行一个基本的http get请求 为此,我找到了一些代码,但我无法让它工作。 我总是被困在getResponse部分,代码是我在几页中尝试过的 我发现以下页面提供了可读代码: 现在,我创建了以下内容: 按下按钮并访问url: package-adhttpget.test; 导入java.io.BufferedReader; 导入java.io.InputStream; 导入j

我是安卓的编程高手,但在一些程序的帮助下,我可以学到一些基础知识。我想对arduino ethernetshield执行一个基本的http get请求

为此,我找到了一些代码,但我无法让它工作。 我总是被困在getResponse部分,代码是我在几页中尝试过的

我发现以下页面提供了可读代码:

现在,我创建了以下内容: 按下按钮并访问url:


package-adhttpget.test;
导入java.io.BufferedReader;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.net.HttpURLConnection;
导入java.net.URI;
导入java.net.URL;
导入android.app.Activity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.Toast;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.impl.client.DefaultHttpClient;
公共类AdhttpgetActivity扩展活动{
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
公共无效按钮1(视图){
Toast.makeText(getBaseContext(),“按钮按下”,Toast.LENGTH_SHORT.show();
Log.e(“按钮”、“按下”);
URL connectURL=新URL(“http://192.168.0.48/?out=13&status=2");
HttpURLConnection conn=(HttpURLConnection)connectURL.openConnection();
//做一些设置
conn.setDoInput(真);
连接设置输出(真);
conn.SETUSECHACHES(假);
conn.setRequestMethod(“GET”);
//连接并清除请求
连接();
conn.getOutputStream().flush();
//现在获取结果

String response=getResponse(conn);//必须创建一个传递InputStream的BufferedReader,然后才能读取字符串

private static String convertStreamToString(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
然后,我建议您使用ThreadUI中的分离线程(使用thread、AsyncTask、Handler等)建立连接(或读/写文件),因为这将改进您的应用程序


必须创建一个传递InputStream的BufferedReader,然后才能读取字符串

private static String convertStreamToString(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
然后,我建议您使用ThreadUI中的分离线程(使用thread、AsyncTask、Handler等)建立连接(或读/写文件),因为这将改进您的应用程序


尝试,但目前我似乎有一些阅读/学习要做。感谢您的回复Xagema!这条信息帮助我完成了工作。感谢@xagemaTrying,但目前我似乎有一些阅读/学习要做。感谢您的回复Xagema!这条信息帮助我完成了工作。谢谢@xagemadon不会说你是安卓系统中的noob:)。这无助于问题和答案,也助长了所谓的困境:一种封闭的精英主义形式,我想我理解你的意思。从来没有这样想过:)不要说你是安卓系统中的noob:)。这无助于问题和答案,也助长了所谓的困境:封闭的精英主义者f我想我明白你的意思。从来没有这样想过:)