Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.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
Java http get android应用程序崩溃没有结果也没有错误_Java_Android_Http Get - Fatal编程技术网

Java http get android应用程序崩溃没有结果也没有错误

Java http get android应用程序崩溃没有结果也没有错误,java,android,http-get,Java,Android,Http Get,首先,我对Java非常陌生,我正在尝试为家庭自动化制作一个应用程序。 在服务器端,我有一个PHP脚本可以切换我的灯光,现在我想用android发送一个Get请求来运行PHP脚本,因为PHP是服务器端的。 现在,当我按下按钮时,应用程序“just”崩溃,日志中没有任何内容 这是我的按钮代码: Button bA = (Button) findViewById(R.id.button); bA.setOnClickListener(new View.OnClickListener() {

首先,我对Java非常陌生,我正在尝试为家庭自动化制作一个应用程序。 在服务器端,我有一个PHP脚本可以切换我的灯光,现在我想用android发送一个Get请求来运行PHP脚本,因为PHP是服务器端的。 现在,当我按下按钮时,应用程序“just”崩溃,日志中没有任何内容

这是我的按钮代码:

Button bA = (Button) findViewById(R.id.button);
    bA.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            try {
                HttpClient httpclient = new DefaultHttpClient();

                HttpGet request = new HttpGet();
                URI Aswitch = new URI("http://192.168.1.186/a-switch.php");
                request.setURI(Aswitch);
                HttpResponse response = httpclient.execute(request);

            } catch (ClientProtocolException e){
                Log.e("log_tag", "ClientProtocol error");
            } catch(IOException e){
                Log.e("log_tag", "IO error");
            } catch(URISyntaxException e) {
                Log.e("log_tag", "URISytax error");
            }


        }
    });

也许你是在主线程上提出这个请求。使用
AsyncTask
执行网络请求。 另外,不要忘记将权限添加到清单文件中,请尝试以下操作:

    Button bA = (Button) findViewById(R.id.button);
    bA.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {


            new Thread(new Runnable() {

                public void run() {
                    try {
                        HttpClient httpclient = new DefaultHttpClient();

                        HttpGet request = new HttpGet();
                        URI Aswitch = new URI("http://192.168.1.186/a-switch.php");
                        request.setURI(Aswitch);
                        HttpResponse response = httpclient.execute(request);

                    } catch (ClientProtocolException e){
                        Log.e("log_tag", "ClientProtocol error");
                    } catch(IOException e){
                        Log.e("log_tag", "IO error");
                    } catch(URISyntaxException e) {
                        Log.e("log_tag", "URISytax error");
                    }

                }
            }).start();


        }
    });

检查LogCat。很可能是你的日志?我们无法预测您的错误。如果url的内容与正确的输出不匹配(即我在家庭网络之外),是否也可以通过VPN发送请求?请就此提出一个严肃的问题。