Android中基于HTTP的网络技术

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();

名称栏目:Android中基于HTTP的网络技术
文章路径:http://ybzwz.com/article/iisjjj.html