这篇文章是记录我们平时在android开发过程中,经常会用到的类型转换,主要包括String、byte[]、bitmap、inputstram、Drawable之间的转换,代码如下:


<span style="font-size:18px;">import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;public class Demo {/** * bitmap 转  byte[]数组 */public byte[] bitmap2byteArray(Bitmap bitmap){ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);byte[] bytes = baos.toByteArray();return bytes;}/** * bitmap 转  inputstream */public InputStream bitmap2InputStream(Bitmap bitmap){ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);InputStream is = new ByteArrayInputStream(baos.toByteArray());return is;}/** * byte[]数组   转   bitmap */public Bitmap byteArray2Bitmap(byte[] bytes){Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);return bitmap;}/** * inputstream  转   bitmap  */public Bitmap inputStream2Bitmap(InputStream is){Bitmap bitmap = BitmapFactory.decodeStream(is);return bitmap;}/** * Drawable 转  bitmap */public Bitmap drawable2Bitmap(Drawable img){BitmapDrawable bd = (BitmapDrawable) img;Bitmap bitmap = bd.getBitmap();return bitmap;}/** * bitmap 转  Drawable */public Drawable bitmap2Drawable(Bitmap bitmap){BitmapDrawable bd = new BitmapDrawable(bitmap);Drawable img = bd;return img;}/** * String 转  byte[]数组 */public byte[] string2ByteArray(String str,String charset){byte[] bytes = null;if(charset == null){bytes = str.getBytes();}else{try {//如charset = "utf-8"bytes = str.getBytes(charset);} catch (Exception e) {// TODO: handle exception}}return bytes;}/** * String 转  inputstream */public InputStream string2InputStream(String str){InputStream is = new ByteArrayInputStream(str.getBytes());return is;}/** * inputstream 转  String  方法01 */public String inputStream2String01(InputStream is) throws IOException{ByteArrayOutputStream baos = new ByteArrayOutputStream();int i = -1;while((i=is.read()) != -1){baos.write(i);}return baos.toString();}/** * inputstream 转  String   方法02 */public String inputStream2String02(InputStream is) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(is));StringBuilder sb = new StringBuilder();String line = null;while((line=br.readLine()) != null){sb.append(line+"\n");}return sb.toString();}/** * inputstream 转  String   方法03 */public String inputSteam2String03(InputStream is) throws IOException{StringBuilder sb = new StringBuilder();byte[] b =new byte[1024];for(int n; (n=is.read(b)) != -1;){String s = new String(b, 0, n);sb.append(s);}return sb.toString();}}</span>


更多相关文章

  1. 第四周Android实习笔记
  2. Android初级教程_onKeyDown监听返回键无效
  3. 安卓开发之去标题栏
  4. Android实现手机振动设置的方法
  5. 删除android默认APK的方法
  6. Android关于网络连通状况的系统广播
  7. Android(安卓)BroadcastReceiver 简介
  8. android 访问SD卡的方法
  9. android之Unable to execute dex: Multiple dex files define

随机推荐

  1. android 源码之英语单词记忆程序源码
  2. 我翻过的Android图书
  3. ARM NEON 指令
  4. Android(安卓)Annotations框架 配置及使
  5. Android用户输入系统和移植内容概要
  6. android悬浮窗及权限
  7. Android(安卓)API demos 阅读笔记 5
  8. Android常见的Event-driven方案
  9. 【Android(安卓)开发】:UI控件之 DatePick
  10. MVC在安卓应用,ANR,Force Close,Contentpr