读书笔记1,安卓网络请求方式的整理

谷歌官方建议的HTTPURLConnection

  1. 构建URL对象

  2.通过URL对象的openConnection()方法得到HTTPURLConnection对象

  3.通过HUC对象的一系列set方法定制请求

  4.通过HUC对象的getInputStream()方法获得输入流

  5.读取输入流

//示例如下
Thread thread = new Thread(new Runnable() {
    Override
        public void run() {

            HttpURLConnection connection = null;
            BufferedReader reader = null;
            try {
                //获取URL对象
                URL url = new URL("https://www.baidu.com");

                //获取HUC对象
                connection = (HttpURLConnection) url.openConnection();

                //定义请求
                connection.setRequestMethod("GET");
                connection.setConnectTimeout(8000);
                connection.setReadTimeout(5000);

                //获取输入流
                InputStream is = connection.getInputStream();

                //读取输入流
                reader = new BufferedReader(new InputStreamReader(is));
                StringBuilder builder = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null){
                    builder.append(line);
                }

                //我们需要的解析的字符串
                String result = builder.toString();

            } catch (Exception e) {
                e.printStackTrace();
            }finally {

                //关闭流以及断开连接操作,断开连接使用HUC对象的disconnect()方法
            }


        }
    });

开源框架OkHttp

项目地址为https://github.com/square/okhttp

1.创建OkHttpClient类的实例

2.创建一个Request 的对象//重点

3.调用OHC对象的newCall()方法创建一个Call对象,在调用Call对象的execute()方法获取返回的数据,数据类型为Response类

4.调用Response对象的body().string()方法来得到字符串结果

//使用之前添加项目依赖
compile 'com.squareup.okhttp3:okhttp:3.4.1'

 Thread thread1 = new Thread(new Runnable() {
        @Override
        public void run() {

            //得到OkHttpClient 对象
            OkHttpClient client = new OkHttpClient();

            //得到Request对象,默认Get请求在build()之前设置各项参数
            Request request = new Request.Builder()
                    .url("https://www.baidu.com")
                    .build();

            /*Post请求示例如下
            RequestBody requestBody = new FormBody.Builder()
                    .add("参数","参数值")
                    .add("password","123")
                    .build();

            Request request = new Request.Builder()
                    .url("https://www.baidu.com")
                    .post(requestBody)
                    .build();
*/
            try {
                //得到Response 对象
                Response response = client.newCall(request).execute();
                //我们想要的结果
                String result = response.body().string();

            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    });





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Android登录后台实现APP登录功能,你需要进行以下步骤: 1.在Android项目中添加网络权限 在AndroidManifest.xml文件中添加以下代码: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 2.使用HttpURLConnection发送POST请求 可以使用HttpURLConnection类来发送POST请求,以下是一个示例代码: ```java URL url = new URL("http://yourbackend.com/login"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); //添加请求头 conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); //添加请求体 JSONObject jsonParam = new JSONObject(); jsonParam.put("username", "yourusername"); jsonParam.put("password", "yourpassword"); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(jsonParam.toString()); writer.flush(); //读取响应 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer sb = new StringBuffer(); String line; while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); String response = sb.toString(); ``` 3.解析后台返回的数据 在上面的代码中,我们使用了JSONObject类来创建一个JSON请求体。在得到后台返回的数据后,你需要使用相应的JSON解析器来解析返回的数据。例如,可以使用GSON库来解析JSON数据: ```java Gson gson = new Gson(); LoginResponse response = gson.fromJson(sb.toString(), LoginResponse.class); ``` 其中,LoginResponse是一个你自己定义的Java类,用来表示后台返回的数据。你需要根据后台返回的数据来定义这个类的属性。 以上就是实现Android登录后台的基本步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值