美文网首页
OKHttp的基本又核心的使用,手把手教程

OKHttp的基本又核心的使用,手把手教程

作者: BlueSocks | 来源:发表于2023-11-29 22:19 被阅读0次

真就是手把手教你如何使用OKHTTP进行网络请求


先说问题,解疑答惑

**1.什么是URL 什么是URI **

URI:统一资源标识符

URL:统一资源定位符

范围来说 URL<URI URL实际上也是一种资源标识符,只不过长得有点像,用来做区分

2.HTTP和HTTPS有什么区别

没什么区别,可能HTTPS会加密,其他好像没什么区别

3.三次握手TCP/IP协议

这个应该是计算机系的同学们都知道的东西吧,这个是《计算机网络》里面有一节网络请求IP地址一章里面学习的,三次握手保证了客户端和服务器的正确连接

此处应该有图片,但是我没有时间去画了,你们去搜下其他人的吧

有些人说三次握手我总是记不住,那你看看我的总结嫩呢

客户端 -- SYN seq=x --> 服务器

~~小何:喂,我是小何 ~~

客户端 <-- SYN ack=x+1 sep=y -- 服务器

老板:喂,我知道你是小何,我是你老板

客户端 -- ack=y+1 --> 服务器

小何:好的老板,你找我干嘛


来人! 上代码~~~

1.我是用的android studio Dolphin 2021.3.1 patch 1 (海豚android)

eg1:使用HTTP访问百度

setp1:Androidmanifest.xml里面添加网络请求权限

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

step2:新建一个HTTPActivity

public class OKHTTPActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_okhttpactivity);
    }
}

下面是xml布局,一个很简单webview

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   tools:context=".OKHTTPActivity">
   <WebView
       android:id="@+id/webview"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       tools:ignore="MissingConstraints" />

</androidx.constraintlayout.widget.ConstraintLayout>

新建一个SendUrlTask的异步方式去send一个String,这里可以传各种东西mipmap等等

/**
 * 最后一个参数是异步操作doinbackground的一个返回值
 * 这个task就是帮我们执行一个url的,所以需要传入一个URL
 */
private class SendUrlTask extends AsyncTask<Void, Void, String> {
    private String mUrl;

    public SendUrlTask(String url) {
        mUrl = url;
    }

    @Override
    protected String doInBackground(Void... voids) {
        /**
         * 这里就是进行网络请求的操作
         */
        try {
            HttpUtil.sendUrl(mUrl);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        mWebView.loadData(s,"text/html;charset=utf-8",null);
    }
}

这里是HttpUtil里面的代码,按道理应该是固定的格式里面一些东西可以根据实际情况去增删改,核心内容应该不会改变

    /**
     * @param url
     * @return
     * @throws MalformedURLException 能否解析成功的一个异常
     */
    public static String sendUrl(String url) throws IOException {
        URL url1 = new URL(url);
        HttpURLConnection connection = (HttpURLConnection) url1.openConnection();
        connection.setConnectTimeout(5000);
        connection.setRequestMethod("GET");
        InputStream inputStream = connection.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuffer stringBuffer = new StringBuffer();
        String str = null;
        while ((str = bufferedReader.readLine()) != null) {
            stringBuffer.append(str);
        }
        return stringBuffer.toString();
    }
}

相关文章

  • 资源

    okHttp的使用: OkHttp使用完全教程OkHttp官方教程解析-彻底入门OkHttp使用 okHttp的源...

  • OkHttp使用教程

    OkHttp使用教程 Android OkHttp官方教程解析-彻底入门OkHttp使用 How to ret...

  • 通过使用方式逐步理解okhttp源码一

    从okhttp最基本的使用方式解析okhttp okhttp的使用很简单 导入依赖 implementation...

  • OkHttp的基本使用

    前面讲解了Volley网络请求的使用,这章就来看看OkHttp的使用。调用的网址如下: GET同步使用 GET异步...

  • okhttp的基本使用

    Android中volley框架,因为httpclient的问题,不建议使用 基本代码逻辑: 执行post请求的方...

  • OkHttp 3.12.0源码分析

    主要参考文章:1.Okhttp的基本使用2.Okhttp主流程源码分析 Okhttp 3.12.0 使用例子 1、...

  • OkHttp(1)-OkHttp的基本使用

    本系列文章是对OkHttp的使用、框架封装及源码分析所写。 一、主要内容 1、简介OkHttp 2、介绍OkHtt...

  • 我的Android 框架参考知识体系

    一、解决方案 网络请求 OkHttp官方文档 OkHttp使用教程 Retrofit官方文档 异步处理 Event...

  • okhttp1

    okhttp分享一:okhttp基本使用及interceptor链 本文主要内容如下 okhttp 简介okhtt...

  • Android中OkHttp的使用

    网上有很多OkHttp使用的教程,而我今天要给大家分享的是我自己对OkHttp的使用并且做了简单的封装,希望能给你...

网友评论

      本文标题:OKHttp的基本又核心的使用,手把手教程

      本文链接:https://www.haomeiwen.com/subject/efgfgdtx.html