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

使用应用程序发送 HTTP 请求 - AndroidStudio

使用应用程序发送 HTTP 请求 - AndroidStudio

潇潇雨雨 2021-11-24 18:49:24
我想在按下按钮到 ESP8266 时从我的 android 应用程序发送 HTTP 请求,该 ESP8266 正在等待任何网页被访问,但是我希望我的 android 应用程序实际上没有打开网页,而只是“发送一个 HTTP要求”现在我正在使用;startActivity(new Intent(Intent.ACTION_QUICK_VIEW, Uri.parse("http://192.168.1.201/onled")));它正在工作,但显然它正在打开网页......有人对如何解决我的问题有好的建议吗?我是 Java 新手。
查看完整描述

3 回答

?
慕勒3428872

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

new AsyncTask<Void,Void,Void>(){

        private Exception exception;

        @Override

        protected Void doInBackground(Void... voids) {

            try{

                URL url= new URL("http://yourserveraddress/resource.extension");

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

                //write additional POST data to url.getOutputStream() if you wanna use POST method 

            }catch (Exception ex){

                this.exception=ex;

            }

            return null;

        }


        @Override

        protected void onPostExecute(Void aVoid) {

            super.onPostExecute(aVoid);

        }

    }.execute();


查看完整回答
反对 回复 2021-11-24
?
慕桂英546537

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

有很多方法可以从应用程序发送 HTTP 请求。例如使用HttpURLConnectionwithGET方法,您可以按如下方式进行:


 StringBuilder content = new StringBuilder();

        try {

            URL u1 = new URL(url);

            HttpURLConnection uc1 = (HttpURLConnection) u1.openConnection();

            if (uc1.getResponseCode()==HttpURLConnection.HTTP_OK) {


                InputStream is = uc1.getInputStream();

                BufferedReader br = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));

                String line;

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


                    content.append(line).append("\n");


                }


            }//other codes


查看完整回答
反对 回复 2021-11-24
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您应该创建 HTTP 连接和 HTTP 请求。

您可以通过以下几种方式做到这一点:

请记住,发送 HTTP 请求是非确定性操作,您应该在单独的非 UI 线程中执行它以保持 UI 畅通。您可以通过AsyncTask 来完成,这是最简单的解决方案,但您也可以将RxJavaRxAndroid或其他方法一起使用。


查看完整回答
反对 回复 2021-11-24
  • 3 回答
  • 0 关注
  • 238 浏览

添加回答

举报

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