WebView的使用以及HttpURLconnection的练习

1.WebView控件使用

1.1布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <WebView
        android:id="@+id/wv_web"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></WebView>
</LinearLayout>

1.2代码文件

public class MainActivity extends AppCompatActivity {

    private WebView webView;
    private String url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        去除标题栏
        supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
//        初始化WebView控件实例
        initUI();
//        允许WebView运行JS
        webView.getSettings().setJavaScriptEnabled(true);
//        限制浏览器跳转二级界面时在控件中打开新的页面,而不是跳转系统浏览器
        webView.setWebViewClient(new WebViewClient());
//        打开网页
        webView.loadUrl("http://www.baidu.com");
    }

    private void initUI() {
        webView=(WebView) findViewById(R.id.wv_web);
    }
}

1.3配置权限

在AndroidManifest.xml中配置网络权限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

2.练习HttpURLconnection

2.1发起网络请求

核心类

HttpURLConnection{

//核心方法

setRequestMethod();

setConnectTimeout();

etReadTimeout();

}

发起网络请求
 

 private void getRequest(URL url) {
	new Thread(new Runnable(){
		HttpURlConnection connection=(HttpURLConnection)url.openConnection();
        	BufferedReader reader=null;
        	StringBuilder builder=null;
        		try {
            	connection.setRequestMethod("GET");
            	connection.setConnectTimeout(8000);
            	connection.setReadTimeout(8000);
            	InputStream in=connection.getInputStream();
            	reader=new BufferedReader(new InputStreamReader(in));
            	builder=new StringBuilder();
            	String line;
            	while ((line=reader.readLine())!=null){
                	builder.append(line);
            		}
       	 	} catch (Exception e) {
            	e.printStackTrace();
        		}finally {
            	if (reader!=null){
                	try {
                    	reader.close();
               		} catch (IOException e) {
                    		e.printStackTrace();
                	}
            	}
        	}
	}).start();	
    }

2.2提交信息

//    提交信息给服务器
    private void postRequest(HttpURLConnection connection) {
        try {
            connection.setRequestMethod("POST");
            DataOutputStream out=new DataOutputStream(connection.getOutputStream());
//信息以键值对的形式,数据与数据之间用&连接
            out.writeBytes("username=Administrator&password=123456");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 

 

更多深入的okhttp

https://www.cnblogs.com/ldq2016/p/8796300.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值