android studio中 toByteArray() 方法无法使用

androidganer 2017-06-19 12:56:27
做应用的时候需要将 bitmap 转换成 byte[] 的格式。
在网上找了一下,有个2015年的帖子写了方法:
[code=javaByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] datas = baos.toByteArray(); ][/code]

我照着做了:
[code=java fos = new FileOutputStream(file);
if (fos != null) {
//第一参数是图片格式,第二参数是图片质量,第三参数是输出流
bmp.compress(Bitmap.CompressFormat.PNG, 100, fos);
bos = new BufferedOutputStream(fos);
byte[] datas = bmp.toByteArray();
bos.write(datas);
fos.flush();
}][/code]
但 toByteArray() 报错,红色的。
错误提示就只有:Cannot resolve method 'toByteArray()'
没别的了,就是不说为什么。
我想是不是没import,去找了一下,这个方法是在 java.io.ByteArrayOutputStream 中的,但没办法声明,暗的。
是不是因为 v7 包含了这个方法?
我的配置是:Android studio 2.3.3
api 是 19
实机我用的是 android 4.4

希望能得到解决方法,如果不行,告诉我其他的将 bitmap 转换成 byte[ ] 的方法也行。



...全文
677 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
guwei4037 2017-06-19
  • 打赏
  • 举报
回复
因为流对象有toByteArray方法,bitmap没有。
  • 打赏
  • 举报
回复
private static byte[] Bitmap2Bytes(Bitmap bm) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
		bm.recycle();
		return baos.toByteArray();
	}
完整方法,拿走不谢

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧