import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.Toast;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* //
* 本类封装了URL连接网络的过程,四个方法
* 分别是:
* ************************获取JSON串************************
* 1.使用GET方法把输入流转换成JSON串并返回--------方法名:GETmethodToJson
* 2.使用POST方法把输入流转换成JSON串并返回--------方法名:POSTmethodToJson
* ************************获取Bitmap对象************************
* 3.使用GET方法把输入流转换成Bitmap对象并返回--------方法名:GETmethodToBitmap
* 4.使用POST方法把输入流转换成Bitmap对象并返回--------方法名:POSTmethodToBitmap
*
*
* ///
*本类使用了静态修饰可以直接使用类名调用方法,只是封装了URL连接网络的方法,
* 连接网络还有其他方法HttpClient类,AsyncTask异步任务,图片网络获取ImageLoader
* /
*
*
*
*
*
*/
public class URLconnectionNetWork {
/**
* 请求网络使用的是GET方法---直接转换成json串
*/
public static String GETmethodToJson(String urlpath, Context context){
String streamToStringresult="";
try {
URL url = new URL(urlpath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
if (connection.getResponseCode() == 200){
InputStream stream = connection.getInputStream();
streamToStringresult = Convert.getStreamToString(stream);
return streamToStringresult;
}else{
Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
return "";//**************************可能会报空指针异常
}
/**
* 请求网络使用的是POST方法---直接转换成json串
*/
public static String POSTmethodToJson(String urlpath, Context context){
String streamToStringresult="";
try {
URL url = new URL(urlpath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
if (connection.getResponseCode() == 200){
InputStream stream = connection.getInputStream();
streamToStringresult = Convert.getStreamToString(stream);
return streamToStringresult;
}else{
Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
return "";//**************************可能会报空指针异常
}
/**
* 请求网络使用的是GET方法---直接转换成Bitmap对象
*/
public static Bitmap GETmethodToBitmap(String urlpath, Context context){
Bitmap bitmap ;
try {
URL url = new URL(urlpath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
if (connection.getResponseCode() == 200){
InputStream stream = connection.getInputStream();
bitmap = BitmapFactory.decodeStream(stream);
return bitmap;
}else{
Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;//**************************可能会报空指针异常
}
/**
* 请求网络使用的是POST方法---直接转换成Bitmap对象
*/
public static Bitmap POSTmethodToBitmap(String urlpath, Context context){
Bitmap bitmap=null;
try {
URL url = new URL(urlpath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
if (connection.getResponseCode() == 200){
InputStream stream = connection.getInputStream();
bitmap = BitmapFactory.decodeStream(stream);
return bitmap;
}else{
Toast.makeText(context,"连接失败-_-响应码:"+connection.getResponseCode(),Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;//**************************可能会报空指针异常
}
/**
* ****************************************内部静态工具类*********************************************
*/
static class Convert{
/**
* 输入流转换字符串
*/
public static String getStreamToString(InputStream stream){
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
byte[] bytes = new byte[1024];
int len = 0;
while((len = stream.read(bytes)) != -1){
bos.write(bytes,0,len);
}
bos.flush();
bos.close();
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
return bos.toString();
}
}
}
使用HttpURLconnection连接网络
最新推荐文章于 2020-09-03 08:17:25 发布