Android第九讲——网络(一)
来源:互联网 发布:纹理算法 编辑:程序博客网 时间:2024/06/06 01:27
网络连接:
Java中URLConnection HttpClient
Android中也支持
6.0中不太支持
查看手机的网络状态 , 先创建网络连接管理器 需要加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET"/>
ConnectivityManager getSystemService
访问网络时,可以用WebView来返回网页,但是用时注意
mWebView.getSettings().setJavaScriptEnabled(true);用来加载网页中的jsp的
setWebChromeClient//一般来说用来动态显示progressBar
setWebViewClient//onPageStarted开始加载时;onPageFinished加载完成时;onReceivedError//加载失败时
public class MainActivity extends Activity implements View.OnClickListener{ private TextView mTextViewDetail; private Button mBtnNetDetail; private ConnectivityManager manager; private WebView mWebView; private Button mBtnAddWeb; private ProgressBar mProgressBar; private TextView mTextViewError; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextViewDetail = (TextView) findViewById(R.id.textview_net_detail); mWebView = (WebView) findViewById(R.id.webview); mBtnNetDetail = (Button) findViewById(R.id.button_get_net_detail); mBtnAddWeb = (Button) findViewById(R.id.button_webview_add); mProgressBar = (ProgressBar) findViewById(R.id.progressbar); mTextViewError = (TextView) findViewById(R.id.textview_net_error); mBtnNetDetail.setOnClickListener(this); mBtnAddWeb.setOnClickListener(this); manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);//初始化manager mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebChromeClient(new WebChromeClient(){ //进度条改变 @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); mProgressBar.setProgress(newProgress); } }); mWebView.setWebViewClient(new WebViewClient(){ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); mProgressBar.setVisibility(View.VISIBLE); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); mProgressBar.setVisibility(View.INVISIBLE); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); mWebView.setVisibility(View.GONE); mTextViewError.setText("对不起,加载失败"); mTextViewError.setVisibility(View.VISIBLE); } });//加上 mWebView.getSettings().setBuiltInZoomControls(true); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button_get_net_detail: NetworkInfo info = manager.getActiveNetworkInfo();//获取网络连接信息 if (info!=null&&info.isConnected()) { Toast.makeText(MainActivity.this, "有网络连接", Toast.LENGTH_SHORT).show(); String type = info.getTypeName();//获取连接状态名 mTextViewDetail.setText(type); }else { Toast.makeText(MainActivity.this, "无网络连接", Toast.LENGTH_SHORT).show(); mTextViewDetail.setText("无网络连接"); } break; case R.id.button_webview_add: mWebView.loadUrl("http://www.baidu.com"); break; } }}
一般来说按返回键会直接销毁掉Activity,为了按返回键返回到上一个页面,加入下边代码
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK){ if (mWebView.canGoBack()){ mWebView.goBack(); return true;//一定要返回 }else {//如果没有WebView能够返回,那么销毁Activity finish(); return true; } } return super.onKeyDown(keyCode, event); }
运行结果如图:
0 0
- Android第九讲——网络(一)
- Android第九讲——网络(六)xUtils
- Android第九讲——网络(二) HttpUrlConnection
- Android第九讲——网络(三)HttpClient
- Android第九讲——网络(五) Volley
- Android第九讲——网络(四) 文件的下载(单线程下载、多线程下载)
- 第九讲 网络编程
- 第九讲网络编程
- 第九讲 设定字体(一)
- Oracle(第九讲)
- Machine Learning第九讲[异常检测] --(一)密度估计
- 学徒浅析Android开发:第九讲——SpannableString,让文字活起来
- 第二十一讲 网络功能(一)
- java基础第九讲——反射、工厂设计模式、注解、线程、网络与线程的结合
- 读书笔记(第九讲)Encapsulation
- Android培训三十二课程第九讲
- Android中级第九讲--相机调焦
- Android初级第九讲之适配
- 感知器算法
- uva 10817 Headmaster's Headache 状压dp
- Android中如何获取屏幕的高度和宽度
- 错误小结
- jdbc
- Android第九讲——网络(一)
- VMNat网络不可用
- IOS+PhoneGap入门(一)
- Android网络连接----使用URLConnection实现从服务器上下载
- iOS开发:网络请求之get、post同步异步请求
- 跨域分享
- 统计一个数字二进制中一的个数。
- 详解回调函数——以JS为例解读异步、回调和EventLoop
- 编写java项目启动bat