Android之常用类型转换

这篇文章是记录我们平时在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>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-06 16:27:11

Android之常用类型转换的相关文章

Android Stuido 常用快捷键

Android Stuido 常用快捷键 Ctrl + Z : 撤消 Ctrl + G : 定位行 Ctrl + / : 单行注释 Ctrl + Shift + Z : 恢复 Ctrl + J : 快速生成代码 Ctrl + H : 显示类结构图 Ctrl + P : 方法参数提示 Ctrl + Shift + F10 : 运行 Ctrl + Shift + / : 多行注释 Ctrl + Alt + L : 格式化代码 Ctrl + Shift + C : 复制路径 Ctrl + + / -

关于JS中涉及的常用类型转换及运算符表达式

JS中的常用类型转换(一般用强制转换):1.强制转为整数:parseInt:写法:x = parseInt(x); 2.强制转换位小为:parseFloat:写法:x = parseFloat(x); 3.检测类型:x = parseInt(x);       alert(typeof(true)); JS中常用的运算符表达式:1.逻辑运算符(布尔型):&& 并 :|| 或 :! 非 : 2.比较运算符:==(等于) :!=(不等于) : > :< :>=(大于等于) :

Android Studio常用操作技巧

这段时间一直在用Android Studio做一些Demo的开发,一开始从Eclipse中转向这个开发工具,各种不适应,希望此博文可以一直更新,还有网友可以分享出自己方便更好更快开发的一些技巧. 首先我讲一些经常用到的快捷键吧,网上很多都只说一个大概,很模糊,也不知道什么时候才会用到.我们尽量让这篇博文有作用而不是纯粹的Copy吧! 虽然说Android Studio可以直接一键把所有快捷键设置成Eclipse的快捷键,但是想到你身边的同事,有可能不一定会设置成Eclipse,这样有的时候你如果

Android Studio常用快捷键、Android Studio快捷键大全

Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,基于Gradle的构建支持. Android Studio常用快捷键 1. Ctrl+D: 集合了复制和粘贴两个操作,如果有选中的部分就复制选中的部分,并在选中部分的后面 粘贴出来,如果没有选中的部分,就复制光标所在的行,并在此行的下面粘贴出来. 2. Ctrl+空格: 输入代码时按此组合键会列

android学习常用资料博客目录

android 技术总结 1.android 系统签名 介绍如何使用源码中的  (testkey:普通APK,默认情况下使用,platform:该APK完成一些系统的核心功能,经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system,shared:该APK需要和home/contacts进程共享数据,media:该APK是media/download系统中的一环.)4种密钥公钥进行签名. 2.MVC ListView 介绍什么是MVC以及MVC在SDK中的使用,

Android中常用的三种存储方法浅析

Android中常用的三种存储方法浅析 Android中数据存储有5种方式: [1]使用SharedPreferences存储数据 [2]文件存储数据 [3]SQLite数据库存储数据 [4]使用ContentProvider存储数据 [5]网络存储数据 在这里我只总结了三种我用到过的或即将可能用到的三种存储方法. 一.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置信息比如窗口状态,它的本质是基

Android之常用类库

Android之常用类库 android.app :提供高层的程序模型.提供基本的运行环境android.content :包含各种的对设备上的数据进行访问和发布的类android.database :通过内容提供者浏览和操作数据库android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上 .android.location :定位和相关服务的类android.media :提供一些类管理多种音频.视频的媒体接口android.net :提供帮助网

android布局常用属性记录

android布局常用属性记录 27. 三 / android基础 / 没有评论 http://blog.csdn.net/xn4545945/article/details/7717086这里有一部分别人总结的其余的: align:对齐 parent:容器 bottom:底部 alignparentbottom:是否显示在容器底部. 值为true 或者 false android:layout_alignParentBottom=”true” android:gravity=”top” htt

Android TableLayout 常用的属性介绍及演示

TableLayout经常用的属性是: 1.android:collapseColumns:以第0行为序,隐藏指定的列:把android:collapseColumns=0,2 意思是把第0和第2列隐藏 2.android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分:当LayoutRow里面的控件还没有布满布局 时,shrinkColumns不起作用,设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空 间.当Layo