温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中基于HTTP的网络技术

发布时间:2020-08-10 06:39:57 来源:ITPUB博客 阅读:307 作者:山有木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();
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI