android下检查网络不通的后续合理人性化操作(常用)
来源:互联网 发布:海岛奇兵妹妹升级数据 编辑:程序博客网 时间:2024/05/16 16:29
直接上代码 ,注释很详细
Main:
package com.gem.hsx;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;public class Main extends Activity { Button btnok; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnok=(Button) findViewById(R.id.btnok); btnok.setOnClickListener(new View.OnClickListener() { @Overridepublic void onClick(View v) {Intent intent=new Intent();intent.setClass(Main.this, Second.class);startActivity(intent);}}); }}
Second:
/** * @author hsx */package com.gem.hsx;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;/** *@author hsx *@date 2012-11-21 *@Description 在android开发中常常遇到网络连接,所以要进行网络判断,本文主要是侧重于在连接网络获取数据之后, *如果网路不通,数据没有获取到之后的操作。本文核心的操作是Common类中的方法 */public class Second extends Activity {Common common=new Common();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second);init();}/** *@author hsx *@Description * */ /** * 加载起始数据 */private void init() { /** * 弹出一个进度对话框 */common.showProgressDialog(Second.this); /** * 在此线程中进行网络连接的操作,并将获取到的数据通过message发送到handler中 */new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 100000000; i++) {}Message message=new Message();message.obj=null;handler.sendMessage(message);}}).start();}Handler handler=new Handler(){ /** * 在handler中对数据进行判断,数据是否为空或者是其他,要根据具体情况,进行判断。 */@Overridepublic void handleMessage(Message msg) {if (msg.obj==null) {common.setNetwork(Second.this);}super.handleMessage(msg);}};}
Common:
/** * @author hsx */package com.gem.hsx;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.provider.Settings;/** *@author hsx *@date 2012-11-21 *@Description */public class Common {private ProgressDialog progressDialog;/** * 显示进度对话框 *@author hsx *@Description *@param context * */public void showProgressDialog(Context context){progressDialog = new ProgressDialog(context);progressDialog.setTitle("数据加载中,请等待");progressDialog.show(); }/** * 网络判断 * @param ctx * @return */public boolean isNetworkAvailable(Context ctx) {ConnectivityManager cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo info = cm.getActiveNetworkInfo(); return (info != null && info.isConnected());}/** * 让进度对话框消失,而且弹出对话框要求用户去设置网络 *@author hsx *@Description *@param context *@param progressDialog * */public void setNetwork(final Context context){progressDialog.dismiss();AlertDialog dialog ;dialog= new AlertDialog.Builder(context).create();dialog.setTitle("提示");dialog.setMessage("当前网络不可用,请设置正确的网络");dialog.setCanceledOnTouchOutside(false);dialog.setButton(DialogInterface.BUTTON_POSITIVE , "设置", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){context.startActivity(new Intent(Settings.ACTION_SETTINGS));}});dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){dialog.dismiss();}});dialog.show();}/** * 重写一个方法,主要是可以自定义ProgressDialog*@author hsx*@Description *@param context*@param p * */public void setNetwork(final Context context,ProgressDialog p){p.dismiss();AlertDialog dialog ;dialog= new AlertDialog.Builder(context).create();dialog.setTitle("提示");dialog.setMessage("当前网络不可用,请设置正确的网络");dialog.setCanceledOnTouchOutside(false);dialog.setButton(DialogInterface.BUTTON_POSITIVE , "设置", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){context.startActivity(new Intent(Settings.ACTION_SETTINGS));}});dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){dialog.dismiss();}});dialog.show();}}
- android下检查网络不通的后续合理人性化操作(常用)
- 人性化合理的时间选择逻辑
- Ubuntu 网络不通检查要点
- Android 检查当前网络常用例子
- WIN7+VMware下的redhat网络不通的解决方法
- Android 网络操作常用的两个类
- 如何检查防火墙引起的端口不通
- 单链表的后续操作
- 说说HIS系统的人性化操作
- Docker 网络不通的解决方法
- android的常用方法,后续会一直增加
- Web:检查是否是合理的URL
- Win10 下 VMware 虚拟机网络不通
- Android最大的问题:太不人性化!
- 检查当前手机网络的Android代码
- 数组初始化的后续操作
- linux下常用网络操作(重点)
- android 检查网络状态
- 如何隐藏SWT控件
- ext 介绍
- 在vmware 中 centos 6 网卡不固定,导致IP变动
- (1)The Android Application Framework Overview
- HDU1412
- android下检查网络不通的后续合理人性化操作(常用)
- Sybase日期函数的应用,例如计算一个月的第一天等等
- 毕业后就是程序员——我的阿里、金山、中华、腾讯、360、网易面试总结(三)
- 【日常小记】linux中强大且常用命令:find、grep
- Autodesk ADN Developer Day (Devdays)12月份在中国
- 手动释放JAVA引用
- 毕业后就是程序员(四)——人生道路的选择
- 黑马程序员---交通灯
- 学生管理系统CommonUtil类