android http post请求获取 json 图片
16lz
2022-07-26
publicclassSuperAsyncHttp{Contextcontext;/***单例模式*/privatestaticSuperAsyncHttpsuperAsyncHttp=newSuperAsyncHttp();privateSuperAsyncHttp(){}publicstaticSuperAsyncHttpgetInstance(){if(superAsyncHttp==null){superAsyncHttp=newSuperAsyncHttp();}returnsuperAsyncHttp;}/***异步http请求下载图片返回Drawable对象*/publicDrawablepost4Drawable(Stringurl){HttpPosthttpPost=null;HttpClienthttpClient=null;HttpResponsehttpResponse=null;try{httpPost=newHttpPost(url);httpClient=newDefaultHttpClient();httpResponse=httpClient.execute(httpPost);if(httpResponse.getStatusLine().getStatusCode()==200){InputStreamis=httpResponse.getEntity().getContent();returnFormatTools.getInstance().InputStream2Drawable(is);}}catch(Exceptione){e.printStackTrace();}returnnull;}/***异步http请求下载图片返回Bitmap对象*/publicBitmappost4Bitmap(Stringurl){HttpPosthttpPost=null;HttpClienthttpClient=null;HttpResponsehttpResponse=null;try{httpPost=newHttpPost(url);httpClient=newDefaultHttpClient();httpResponse=httpClient.execute(httpPost);if(httpResponse.getStatusLine().getStatusCode()==200){InputStreamis=httpResponse.getEntity().getContent();returnFormatTools.getInstance().InputStream2Bitmap(is);}}catch(Exceptione){e.printStackTrace();}returnnull;}/***异步http请求获取Json类型的返回值*@return*/publicJSONrequest4Json(Contextc,JSONjson){context=c;AsyncHttpClientclient=newAsyncHttpClient();try{StringEntitystringEntity=newStringEntity(json.toString());client.post(context,"http://192.4.200.29/testxr/Home/TestReq",stringEntity,"application/json",newJsonHttpResponseHandler(){@OverridepublicvoidonSuccess(JSONObjectresponse){super.onSuccess(response);if(response.toString()!=null){Toast.makeText(context,response.toString(),1000).show();Log.i("response",response.toString());}else{Log.i("response","请求错误");}}});}catch(Exceptione){e.printStackTrace();}returnnull;}}
//格式转换类
publicclassFormatTools{privatestaticFormatToolstools=newFormatTools();privateFormatTools(){}publicstaticFormatToolsgetInstance(){if(tools==null){tools=newFormatTools();returntools;}returntools;}//将byte[]转换成InputStreampublicInputStreamByte2InputStream(byte[]b){ByteArrayInputStreambais=newByteArrayInputStream(b);returnbais;}//将InputStream转换成byte[]publicbyte[]InputStream2Bytes(InputStreamis){Stringstr="";byte[]readByte=newbyte[1024];intreadCount=-1;try{while((readCount=is.read(readByte,0,1024))!=-1){str+=newString(readByte).trim();}returnstr.getBytes();}catch(Exceptione){e.printStackTrace();}returnnull;}//将Bitmap转换成InputStreampublicInputStreamBitmap2InputStream(Bitmapbm){ByteArrayOutputStreambaos=newByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.JPEG,100,baos);InputStreamis=newByteArrayInputStream(baos.toByteArray());returnis;}//将Bitmap转换成InputStreampublicInputStreamBitmap2InputStream(Bitmapbm,intquality){ByteArrayOutputStreambaos=newByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.PNG,quality,baos);InputStreamis=newByteArrayInputStream(baos.toByteArray());returnis;}//将InputStream转换成BitmappublicBitmapInputStream2Bitmap(InputStreamis){returnBitmapFactory.decodeStream(is);}//Drawable转换成InputStreampublicInputStreamDrawable2InputStream(Drawabled){Bitmapbitmap=this.drawable2Bitmap(d);returnthis.Bitmap2InputStream(bitmap);}//InputStream转换成DrawablepublicDrawableInputStream2Drawable(InputStreamis){Bitmapbitmap=this.InputStream2Bitmap(is);returnthis.bitmap2Drawable(bitmap);}//Drawable转换成byte[]publicbyte[]Drawable2Bytes(Drawabled){Bitmapbitmap=this.drawable2Bitmap(d);returnthis.Bitmap2Bytes(bitmap);}//byte[]转换成DrawablepublicDrawableBytes2Drawable(byte[]b){Bitmapbitmap=this.Bytes2Bitmap(b);returnthis.bitmap2Drawable(bitmap);}//Bitmap转换成byte[]publicbyte[]Bitmap2Bytes(Bitmapbm){ByteArrayOutputStreambaos=newByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.PNG,100,baos);returnbaos.toByteArray();}//byte[]转换成BitmappublicBitmapBytes2Bitmap(byte[]b){if(b.length!=0){returnBitmapFactory.decodeByteArray(b,0,b.length);}returnnull;}//Drawable转换成BitmappublicBitmapdrawable2Bitmap(Drawabledrawable){Bitmapbitmap=Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight(),drawable.getOpacity()!=PixelFormat.OPAQUE?Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565);Canvascanvas=newCanvas(bitmap);drawable.setBounds(0,0,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());drawable.draw(canvas);returnbitmap;}//Bitmap转换成DrawablepublicDrawablebitmap2Drawable(Bitmapbitmap){BitmapDrawablebd=newBitmapDrawable(bitmap);Drawabled=(Drawable)bd;returnd;}}
更多相关文章
- 类和 Json对象
- Android使用Retrofit进行网络请求
- Android内容提供者源码
- Android中文API(144) —— JsonWriter
- Android之Handler用法总结
- android通过ksoap2对webservice的解析
- android 单元测试
- Android(安卓)Paging组件Demo
- Android(安卓)View的介绍和使用