package com.sunplus.app.util;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast;
public class ConnectNet {
//判断是有网络连接,注意权限的添加
//<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//<uses-permission android:name="android.permission.INTERNET"/>
//此方法主要是判断当前网络是否可用
public static boolean isConnect(Context context) {
// 获取 所有连接管理对象(包括对wi-fi,net等连接的管理)
try {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
// 获取网络连接管理的对象
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
// 判断当前网络是否已经连接
if (info.getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
return false;
}
//在此方法操作之前应该先判断是否网络已连接。
public static String getData(String path) {
try {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
return backInputStream(conn.getInputStream());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private static String backInputStream(InputStream in) {
String url = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
try {
while ((len = in.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
url = new String(baos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
return url;
}
}
android 解析Json数据前期步骤
最新推荐文章于 2024-04-16 05:14:38 发布