来自Android设备的HTTP请求

俄语

使用Java从Android设备发出HTTP请求的最佳方法是什么?清单中需要进行哪些更改?

安贾利

您可以使用HttpUrlConnectionOkHttp在android应用程序中调用要作为url调用的任何api

首先,请求访问网络的权限,在清单中添加以下内容:

<uses-permission android:name="android.permission.INTERNET" />

以下AsyncTask将用于在单独的线程中调用http get方法api:

class RequestTask extends AsyncTask<String, String, String>{
    String server_response;

    @Override
    protected String doInBackground(String... uri) {
     URL url;
        HttpURLConnection urlConnection = null;

        try {
            url = new URL(uri[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 result) {
        super.onPostExecute(result);
        //Do anything with 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();
    }


To call this class you have to write:    new RequestTask ().execute("http://10.0.0.3/light4on");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

来自Ruby on Rails的Android Http Basic身份验证请求

来自分类Dev

来自NodeJS的HTTP获取请求

来自分类Dev

来自Cpp文件的HTTP请求

来自分类Dev

来自NodeJS的HTTP获取请求

来自分类Dev

记录来自 aiohttp 的 http 请求

来自分类Dev

来自Android应用的SSL请求

来自分类Dev

Cordova-为什么$ http get请求在Android设备上失败但在chrome上工作

来自分类Dev

2个Android设备在同一LAN中互相阻止HTTP请求

来自分类Dev

想要在android应用中显示来自http请求的泰卢固语内容

来自分类Dev

来自Android App的HTTP POST请求在Domain上被拒绝,但可以使用IP地址

来自分类Dev

在Android中创建重复的HTTP请求的最佳实践,该请求在设备休眠时不会停止吗?

来自分类Dev

来自Dockerfile的HTTP请求不成功

来自分类Dev

如何中止来自.NET的HTTP请求?

来自分类Dev

验证来自签名jar的HTTP请求

来自分类Dev

JMeter HTTP请求来自文件的正文

来自分类Dev

WP 8.1绑定来自http请求的图像

来自分类Dev

来自GitHub Pages的HTTP“发布”请求失败

来自分类Dev

WP 8.1绑定来自http请求的图像

来自分类Dev

来自Dockerfile的HTTP请求不成功

来自分类Dev

如何中止来自.NET的HTTP请求?

来自分类Dev

来自快速路由内部的 Http 请求

来自分类Dev

来自终端的 HTTP 请求的 XML 输出

来自分类Dev

来自CSV的JMeter动态http请求参数

来自分类Dev

在处理来自IOS设备的请求期间发生异常

来自分类Dev

如何检测请求是否来自移动设备

来自分类Dev

有什么方法可以检测 DialogFlow 请求来自哪个设备?

来自分类Dev

Jmeter在HTTP请求中使用来自JDBC请求的数据

来自分类Dev

来自Android的HTTP POST调用

来自分类Dev

来自Android应用的https发布请求

Related 相关文章

热门标签

归档