android 网络连接的判断与获取网络请求

该博客介绍了一个用于检查Android设备网络状态的工具类,包括如何判断是WiFi还是蜂窝网络,以及如何处理无网络的情况。内容详细阐述了Android网络连接的检测和在网络可用时进行网络请求的方法。
摘要由CSDN通过智能技术生成


网络连接判断的工具类,判断是wifi网络,   还是蜂窝网络,或者无网络;

package example.com.untils03;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * author:Created by WangZhiQiang on 2018/1/26.
 */

public class NetUntils {
    //判断网络
    public static int getNetType(Context context) {
        //设置一个无网络状态值
        int noState = -1;
        //获取系统网络管理类
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //得到NetWorkInfo
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        //如果activeNetworkInfo为空,说明没网络
        if (activeNetworkInfo == null) {
            return noState;
        }
        //否则就获取网路类型
        int type = activeNetworkInfo.getType();
        if (type == ConnectivityManager.TYPE_WIFI) {//网络类型是WiFi
            return 1;
        } else if (type == connectivityManager.TYPE_MOBILE) {//网络类型是手机网络
            return 0;
        }

        return noState;
    }

    //请求网络文字
    public static String getText(String urlString) {
        try {
            //得到网络请求的路径
            URL url = new URL(urlString);
            //获取网络连接
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            //获取响应码
            int responseCode = urlConnection.getResponseCode();
            if (responseCode == 200) {
                InputStream inputStream = urlConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder stringBuilder = new StringBuilder();
                String temp = "";
                while ((temp = bufferedReader.readLine()) != null) {
                    stringBuilder.append(temp);
                }
                String result = stringBuilder.toString();
                return result;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    //请求网络图片
    public static Bitmap getBitmap(String urlBitmap) {
        try {
            //得到网络请求的路径
            URL url = new URL(urlBitmap);
            //获取网络连接
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
            //获取响应码
            int responseCode = urlConnection.getResponseCode();
            if (responseCode == 200) {
                //连接到输入流
                InputStream inputStream = urlConnection.getInputStream();
                Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
                return bitmap;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值