首页 > 数码 > android

Android开发学习:[33]Android查询网络状态

Android开发学习:[33]Android查询网络状态,在开发网络应用时,通常要先对网络状态、类型等信息进行判断,如当前网络是否连接,类型等等。Adroid系统中使用CoectivityMaager来对网络状态进行查询。下面通过一个简单示例来展示。

在开发网络应用时,通常要先对网络状态、类型等信息进行判断,如当前网络是否连接,类型等等。Android系统中使用ConnectivityManager来对网络状态进行查询。下面通过一个简单示例来展示。

工具/原料

  • Android Studio

方法/步骤

  1. 1

    同样的我们首先打开Android Studio新建一个Activity并设置为启动项。这里我们需要在清单文件中添加访问网络及其状态的权限。

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

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

    Android开发学习:[33]Android查询网络状态步骤阅读
  2. 2

    然后我们在界面布局上面添加一个textview和一个button

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"

        android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"

        android:paddingRight="@dimen/activity_horizontal_margin"

        android:paddingTop="@dimen/activity_vertical_margin"

        android:paddingBottom="@dimen/activity_vertical_margin"

        tools:context="com.basillee.demo2.ConnectivityManagerActivity">

        <TextView

            android:id="@+id/textViewConnectivityManagerDetail"

            android:text="" android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_below="@+id/button" />

        <Button

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="ShowDetails"

            android:id="@+id/button"

            android:layout_alignParentTop="true"

            android:layout_alignParentLeft="true"

            android:layout_alignParentStart="true"

            android:layout_alignParentRight="true"

            android:layout_alignParentEnd="true" />

    </RelativeLayout>

    下面是design视图的截图:

    Android开发学习:[33]Android查询网络状态步骤阅读
  3. 3

    然后我们在后台代码里面注册这些控件,然后添加点击事件,将各种网络信息显示在TextView上面代码如下:

     protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_connectivity_manager);

            textView= (TextView) findViewById(R.id.textViewConnectivityManagerDetail);

            button= (Button) findViewById(R.id.button);

            button.setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    StringBuffer stringBuffer=new StringBuffer("");

                    //实例化ConnectivityManager对象

                    ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

                    //获得当前可用网络的网络信息数据

                    NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();

                    if(networkInfo!=null){

                        //网络是否可用

                        stringBuffer.append("isAvailable:  "+(networkInfo.isAvailable()?"yes":"no")+"\n");

                        //获取网络类型

                        stringBuffer.append("NetwortType:  "+networkInfo.getTypeName()+"\n");

                        //获取当前网络链接的子类型(如果存在)

                        stringBuffer.append("SubType:  "+networkInfo.getSubtypeName()+"\n");

                        //获取网络链接的初略状态

                        stringBuffer.append("Details:  "+networkInfo.getState().toString()+"\n");

                        //获取网络链接的额外信息

                        stringBuffer.append(networkInfo.getExtraInfo()+"\n");

                        //获取是否漫游

                        stringBuffer.append(networkInfo.isRoaming()?"yes":"no"+"\n");

                        textView.setText(stringBuffer);

                    }else{

                        //如果没有可用的网络链接,给予提示

                        textView.setText("no available to use");

                    }

                }

            });

        }

    下图是点击事件的重要代码

    Android开发学习:[33]Android查询网络状态步骤阅读
  4. 4

    然后我们打开一个虚拟机,点击上面的手机机器人按钮。选择好你要运行的虚拟机。

    Android开发学习:[33]Android查询网络状态步骤阅读
    Android开发学习:[33]Android查询网络状态步骤阅读
  5. 5

    然后点击上面的运行按钮

    Android开发学习:[33]Android查询网络状态步骤阅读
  6. 6

    最后我们的虚拟机开启后如图所示

    Android开发学习:[33]Android查询网络状态步骤阅读
  7. 7

    最后我们点击按钮,可以看到网络信息显示出来了

    Android开发学习:[33]Android查询网络状态步骤阅读
    END

注意事项

  • 记得一定要加入上面所说的权限信息
  • 持续跟新
Android开发学习(共41篇)
上一篇:SQLite的创建关闭...|下一篇:新建Android模拟...

本文来自投稿,不代表大发红黑大战立场,转载请注明出处:http://www.seorare.com/digital/10927.html