zoukankan      html  css  js  c++  java
  • Android菜鸟成长记6 网络连接的检查

       在android开发中我们要经常考虑到各种问题。在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。

      那么具体步骤是怎样的呢?

      首先,我们想写一个简单的测试layout,添加一个button和textview。

      然后我们创建一个BtnListener类,继承OnClickListener接口,注意是(import android.view.View.OnClickListener包下的,要导错包)

      

     1 package com.example.day02;
     2 
     3 
     4 import android.app.Activity;
     5 import android.content.Context;
     6 import android.net.ConnectivityManager;
     7 import android.net.NetworkInfo;
     8 import android.view.View;
     9 import android.view.View.OnClickListener;
    10 import android.widget.TextView;
    11 import android.widget.Toast;
    12 
    13 public class BtnListener implements OnClickListener {
    14 
    15     private Context context;
    16     private TextView tv1;
    17     private ConnectivityManager cm;
    18     public BtnListener (Context context) {
    19         this.context = context;
    20     }
    21     
    22     public void onClick(View v) {
    23         Activity a = (Activity)context;
    24         tv1 = (TextView) a.findViewById(R.id.tsTestNetWorkBtn);
    25         cm = (ConnectivityManager) a.getSystemService(a.CONNECTIVITY_SERVICE);
    30             NetworkInfo info = cm.getActiveNetworkInfo();
    31             if(info == null){
    32                  //提示没有网络
    33                 tv1.setText("当前没有网络");
    34                 tv1.setBackgroundResource(R.color.red);
    35                 Toast.makeText(context, "当前没有网络", Toast.LENGTH_LONG).show();
    36             }
    37             else{
    38                 //不需要提示,然后继续相关代码
    39                 
    40                 tv1.setBackgroundResource(R.color.blueviolet);
    41             }
    42         }45         
    46     }
    47 
    48 }

      然后我们在回到MainActivity类中,写上button的点击事件

      

     1 package com.example.day02;
     2 
     3 
     4 import android.app.Activity;
     5 import android.app.AlertDialog;
     6 import android.app.AlertDialog.Builder;
     7 import android.content.ComponentName;
     8 import android.content.Context;
     9 import android.content.DialogInterface;
    10 import android.content.Intent;
    11 import android.os.Bundle;
    12 import android.widget.Button;
    13 
    14 
    15 public class MainActivity extends Activity {
    16 
    17     private Button btn;
    18     @Override
    19     protected void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         setContentView(R.layout.activity_main);
    22         btn = (Button) this.findViewById(R.id.button1);
    23         btn.setOnClickListener(new BtnListener(MainActivity.this));
    24         
    25     }
    26 
    27 
    28     
    29 }

    为了能让项目正常运行,还有加上权限,在AndroidManifest.xml下进行配置

      

    1 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
    2     <uses-permission android:name="android.permission.INTERNET"/>  

    接着我们就可以来测试我们的项目了,在模拟器上进行安装。

    结果:

    有网络的结果

    无网络的结果:

  • 相关阅读:
    Git-远程版本库
    Git-Git分支
    Git-Git里程碑
    Git-冲突解决
    Git-Git库管理
    Git-Git克隆
    Git-改变历史
    Git-历史穿梭
    RHCE考试
    RHCSA考试
  • 原文地址:https://www.cnblogs.com/lsyverygood/p/6085799.html
Copyright © 2011-2022 走看看