Netutil ——工具类

本文介绍了一个用于检查Android设备网络连接状态并从指定URL获取数据的实用工具类。该工具类提供了两个主要方法:一是判断当前设备是否连接到网络,二是通过GET请求从网络获取字符串形式的数据。

package com.example.day_02;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;

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

/**
*
*
*
*
*/
//判断网络
public class NetUtli {
public boolean isNetConnection(Context context) {
if (context != null) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manager.getActiveNetworkInfo();
if (info != null) {
return info.isAvailable();
}
}
return false;
}

//  请求数据
public static String getNetDate(String UrlDate) {
    try {
        URL url = new URL(UrlDate);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        int code = connection.getResponseCode();
        if (code == 200) {
            InputStream stream = connection.getInputStream();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(stream));
            StringBuffer buffer = new StringBuffer();
            String str = "";
            while ((str = bufferedReader.readLine()) != null) {
                buffer.append(str);
            }
            return buffer.toString();
        }

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

}

创建一个名为"NetUtil"的工具类通常用于封装网络相关的功能,如HTTP请求、URL操作等。以下是创建此类的一个简单示例,假设它是一个Java项目: ```java // NetUtil.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class NetUtil { // 私有构造函数,防止实例化这个工具类 private NetUtil() {} // 发送GET请求的静态方法 public static String sendGetRequest(String urlString) throws IOException { URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder content = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { content.append(line); } reader.close(); return content.toString(); } else { throw new RuntimeException("Error: " + responseCode + " - " + connection.getResponseMessage()); } } // 其他有用的方法可以添加在这里,比如POST请求、异常处理等 // 使用示例 public static void main(String[] args) { try { String response = NetUtil.sendGetRequest("https://example.com/api/data"); System.out.println(response); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个例子中,`sendGetRequest`方法负责发送GET请求,并返回响应内容。注意,这只是一个基础版本,实际使用时可能需要考虑更复杂的网络错误处理、线程安全以及性能优化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值