Android之常用类型转换
16lz
2021-01-24
这篇文章是记录我们平时在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>
更多相关文章
- 第四周Android实习笔记
- Android初级教程_onKeyDown监听返回键无效
- 安卓开发之去标题栏
- Android实现手机振动设置的方法
- 删除android默认APK的方法
- Android关于网络连通状况的系统广播
- Android(安卓)BroadcastReceiver 简介
- android 访问SD卡的方法
- android之Unable to execute dex: Multiple dex files define