关于OkHttp的用法
发布日期:2021-06-29 04:56:03
浏览次数:3
分类:技术文章
本文共 3211 字,大约阅读时间需要 10 分钟。
package com.example.fafa.mydemoaboutnet;import android.app.DownloadManager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import org.w3c.dom.Text;import java.io.IOException;import okhttp3.FormBody;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.RequestBody;import okhttp3.Response;public class SecondActivity extends AppCompatActivity implements View.OnClickListener { private Button mGet; private Button mSend; private TextView mView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); initView(); } private void initView() { mGet = (Button) findViewById(R.id.second_get); mSend = (Button) findViewById(R.id.second_send); mView = (TextView) findViewById(R.id.second_view); mGet.setOnClickListener(this); mSend.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.second_get: getmessages(); break; case R.id.second_send: sendMessages(); break; } } private void getmessages() { new Thread(new Runnable() { //如果是发送POST的请求那么就复杂一点了 需要构建一个RequestBody(请求体存放数据) RequestBody body= new FormBody.Builder()// .add("username","zhang")// .add("passwor","123456") .build(); //然后再Request。builder 中调用一下post()方法 将body传入 Request request= new Request.Builder() .url("http://www.baidu.com") .post(body) .build(); @Override public void run() { OkHttpClient client= new OkHttpClient();//实例化一个okhttp对象 try { Response response=client.newCall(request).execute();//请求并获取服务器返回的数据执行 String responseData = response.body().string();//获取返回的具体内容 showView(responseData); } catch (Exception e) { e.printStackTrace(); } } }).start();; } private void sendMessages() { new Thread(new Runnable() { @Override public void run() { OkHttpClient client= new OkHttpClient(); Request request= new Request.Builder(). url("http://www.baidu.com") .build(); try { Response response=client.newCall(request).execute(); String responseData=response.body().string(); showView(responseData); } catch (IOException e) { e.printStackTrace(); } } }).start(); } private void showView(final String responseData) { runOnUiThread(new Runnable() { @Override public void run() { mView.setText(responseData); } }); } } //看起来比HttpURLConnection的代码量少了很多 用起来也方便的多
转载地址:https://blog.csdn.net/zhang_linhua/article/details/73740614 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月03日 20时58分32秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020流行的液态风格PNG免扣素材,竟然被我找到了!
2019-04-29
UI设计干货|菜单交互动效
2019-04-29
UI设计干货素材|动态交互插画模板
2019-04-29
设计师必备各类型3D字体图层样式PSD素材
2019-04-29
杂志大片既视感护肤美妆海报,psd分层模板
2019-04-29
音乐社交娱乐教育APP Makeapp Wireframe Kit
2019-04-29
醒目的UI图标,带来出色的用户优良体验
2019-04-29
2020移动应用设计流行素材|交互动画
2019-04-29
UI素材模板|新拟态新趋势图标ICON
2019-04-29
极简主义2020UI设计正流行,欣赏下可临摹的案例模板!
2019-04-29
秋意来袭,这些清新促销海报不容错过!
2019-04-29
UI设计师必看,灵感爆表UI作品集
2019-04-29
UI设计中的弹窗设计素材,技巧快get起来
2019-04-29
万能广告促销海报,找不到灵感也不怕
2019-04-29
烫金大理石背景素材!!看起来就很贵!!!
2019-04-29
UI素材资源|Material风格的插图,有品位的素材
2019-04-29
潮流渐变色彩的UI插画素材,吸睛没毛病
2019-04-29
稀缺中国风国潮倒计时精品PSD分层海报
2019-04-29
国庆海报设计适合哪些精品背景纹理?
2019-04-29
UI实用素材|APP动效设计
2019-04-29