android httpclient webview,Android中基于HTTP的网络技术

本文介绍了Android开发中如何利用WebView展示网页,并对比了HttpURLConnection和OkHttp在进行HTTP请求的差异。重点讲解了如何设置请求头、处理响应结果,以及OkHttp的便捷性。
摘要由CSDN通过智能技术生成

Android中基于HTTP的网络技术

发布时间:2020-08-10 06:39:57

来源:ITPUB博客

阅读:120

作者:山有木xi

Android中的网络技术是基于HTTP的访问方法,类似QQ,微信,微博等等这些软件,都使用了大量的通信方法,这已经是Android应用必不可少的内容

WebView

这个控件可以在Android应用中替代浏览器来显示网页,具体使用方法如下

获取WebView对象

获取WebSettings对象

启用JavaScript

将页面WebView中

载入网页

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

WebView webView= (WebView) findViewById(R.id.webView);

WebSettings ws=webView.getSettings();

ws.setJavaScriptEnabled(true);

webView.setWebViewClient(new WebViewClient());

webView.loadUrl("https://www.sina.com.cn");

}

}

HttpURLConection

WebView封装了HTTP客户端的所有操作,当需要直接获得服务器响应时,就可以使用HttpURLConection了

调用openConnection方法获得实例对象

设置HTTP请求方式

设置请求相关参数

处理返回结果

HttpURLConnection con=null;

BufferedReader reader=null;

try {

URL url=new URL("http:www.baidu.com");

con=(HttpURLConnection)url.openConnection();

con.setRequestMethod("GET");

Log.e("doUrlGet: ",con.getContentLength()+"");

if(true) return;

InputStream in=con.getInputStream();

reader =new BufferedReader(new InputStreamReader(in));

StringBuilder result=new StringBuilder();

String s;

s=reader.readLine();

while(s!=null){

result.append(s);

s=reader.readLine();

}

OkHttp

HttpURLConnection将服务器响应结果封装在InputStream中,需要通过代码将其读取,而OkHttp相比之下就简单许多

获得OkHttpClient对象

通过Request.Builder创建对象

调用execute方法执行请求

获得字符串形式返回结果

OkHttpClient okClient=new OkHttpClient();

Request.Builder builder=new Request.Builder();

builder.url("http://www.baidu.com");

Request request=builder.build();

Response response=okClient.newCall(request).execute();

String result=response.body().string();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值