//网络判断Utils
package com.bwie.Month_4.net;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetUtils {
public static boolean isNetConnect(Context context){
ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo!=null){
return networkInfo.isAvailable();
}
return false;
}
}
//网络获取数据工具类
package com.bwie.Month_4.net;
import android.os.AsyncTask;
import android.text.TextUtils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtils {
private static final HttpUtils ourInstance = new HttpUtils();
public static HttpUtils getInstance() {
return ourInstance;
}
private HttpUtils() {
}
public void getDataFromServer(String url,NetCallBack callBack){
new LoadDataTask(callBack).execute(url);
}
class LoadDataTask extends AsyncTask<String,Void,String>{
private NetCallBack netCallBack;
public LoadDataTask(){
}
public LoadDataTask(NetCallBack netCallBack) {
this.netCallBack = netCallBack;
}
@Override
protected String doInBackground(String... strings) {
HttpURLConnection connection=null;
try {
URL url=new URL(strings[0]);
connection= (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
if (connection.getResponseCode()==HttpURLConnection.HTTP_OK){
InputStream inputStream = connection.getInputStream();
return inputStream2String(inputStream);
}
} catch (Exception e) {
netCallBack.onError(e.getMessage());
}finally {
if (connection!=null){
connection.disconnect();
}
}
return null;
}
@Override
protected void onPostExecute(String s) {
if(!TextUtils.isEmpty(s)){
netCallBack.onsuccess(s);
}else{
netCallBack.onError("没有数据");
}
}
}
private String inputStream2String(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
int len=-1;
byte[] b=new byte[1024];
while((len=inputStream.read(b))!=-1){
outputStream.write(b,0,len);
}
return new String(outputStream.toByteArray());
}
public interface NetCallBack{
void onsuccess(String result);
void onError(String errorMsg);
}
}