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