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;}}


更多相关文章

  1. 类和 Json对象
  2. Android使用Retrofit进行网络请求
  3. Android内容提供者源码
  4. Android中文API(144) —— JsonWriter
  5. Android之Handler用法总结
  6. android通过ksoap2对webservice的解析
  7. android 单元测试
  8. Android(安卓)Paging组件Demo
  9. Android(安卓)View的介绍和使用

随机推荐

  1. 解读ExpandableListView源码样式
  2. 初探 Ubuntu下android NDK
  3. 在 actionbar中使用 searchview
  4. Android Studio点击按钮更换背景图片
  5. Android 常用权限
  6. android相关
  7. android scroller类的使用
  8. 安卓横屏设置:
  9. android中ImageView、ImageButton、Butto
  10. Android 设置隐式意图