老套路先看效果图:

如上图:分别是bitmap转base64和base64转bitmap

直接上代码。看工具类

package com.example.apidemo.util;
/** Copyright (c) 2019, smuyyh@gmail.com All Rights Reserved.* #                                                   #* #                       _oo0oo_                     #* #                      o8888888o                    #* #                      88" . "88                    #* #                      (| -_- |)                    #* #                      0\  =  /0                    #* #                    ___/`---'\___                  #* #                  .' \\|     |# '.                 #* #                 / \\|||  :  |||# \                #* #                / _||||| -:- |||||- \              #* #               |   | \\\  -  #/ |   |              #* #               | \_|  ''\---/''  |_/ |             #* #               \  .-\__  '-'  ___/-. /             #* #             ___'. .'  /--.--\  `. .'___           #* #          ."" '<  `.___\_<|>_/___.' >' "".         #* #         | | :  `- \`.;`\ _ /`;.`/ - ` : | |       #* #         \  \ `_.   \_ __\ /__ _/   .-` /  /       #* #     =====`-.____`.___ \_____/___.-`___.-'=====    #* #                       `=---='                     #* #     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   #* #                                                   #* #               佛祖保佑         永无BUG              #* #                                                   #*/import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.text.TextUtils;
import android.util.Base64;import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;/*** @author 下一页5(轻飞扬)* 创建时间:2019/11/12 13:48* 个人小站:http://yhsh.wap.ai(已挂)* 最新小站:http://www.iyhsh.icoc.in* 联系作者:企鹅 13343401268* 博客地址:http://blog.csdn.net/xiayiye5* 空间名称:ApiDemo* 项目包名:com.example.apidemo*/
public class Base64Utils {/*** bitmap转base64** @param bitmap 图片* @return 返回*/public static String bitmapToBase64(Bitmap bitmap) {String result = null;ByteArrayOutputStream baos = null;try {if (bitmap != null) {baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);baos.flush();baos.close();byte[] bitmapBytes = baos.toByteArray();result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);}} catch (IOException e) {e.printStackTrace();} finally {try {if (baos != null) {baos.flush();baos.close();}} catch (IOException e) {e.printStackTrace();}}return result;}/*** base64转为bitmap** @param base64Data 数据* @return 返回图片*/public static Bitmap base64ToBitmap(String base64Data) {byte[] bytes = Base64.decode(base64Data, Base64.DEFAULT);return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);}
}

接下来看下调用方法:

 public void imageToBase64(View view) {BitmapDrawable drawable = (BitmapDrawable) ivImage1.getDrawable();Bitmap bitmap = drawable.getBitmap();String s = Base64Utils.bitmapToBase64(bitmap);tvBase64Data1.setText(s);}public void base64ToImage(View view) {Bitmap bitmap = Base64Utils.base64ToBitmap(tvBase64Data1.getText().toString());ivImage2.setImageBitmap(bitmap);try {InputStream open = getAssets().open("flower2.jpg");Bitmap image = BitmapFactory.decodeStream(open);ivImage3.setImageBitmap(image);} catch (IOException e) {e.printStackTrace();}}

Android开发之Base64与bitmap互转的工具类相关推荐

  1. Android开发之无bug滑动删除源码(非第三方库)

    Android开发之无bug滑动删除源码(非第三方库源码请在最后面自行下载) 1.我们先来看下效果图:上边是抽取出来的demo,下边是公司用到的项目 2.我们来看下如何调用(我们这里以listView ...

  2. android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

    android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序   在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, ...

  3. Android开发之TextView高级应用

    Android开发之TextView高级应用 我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此.以下就和大家分享一下TextView的一些使用技巧. A ...

  4. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

  5. android注册弹窗,Android开发之PopupWindow创建弹窗、对话框的方法详解

    本文实例讲述了Android开发之PopupWindow创建弹窗.对话框的方法.分享给大家供大家参考,具体如下: 简介: PopupWindow 可创建类似对话框风格的窗口 效果: 使用方法: 使用P ...

  6. Android开发之旅:组件生命周期(二)

    引言 应用程序组件有一个生命周期--一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...

  7. Android开发之SpannableString具体解释

    在实际的应用开发过程中常常会遇到.在文本的不同部分显示一些不同的字体风格的信息如:文本的字体.大小.颜色.样式.以及超级链接等. 普通情况下,TextView中的文本都是一个样式.对于类似的情况.能够 ...

  8. Android开发之2048安卓版

    之前是在eclipse上写的,后面换成了android sudio. 2048游戏的UI整体可以采用线性布局,即LinearLayout,其中嵌套一个线性布局和一个GridLayout,内嵌的线性布局 ...

  9. android语音播放工具类,Android开发之MediaPlayer多媒体(音频,视频)播放工具类

    本文实例讲述了Android开发之MediaPlayer多媒体(音频,视频)播放工具类.分享给大家供大家参考,具体如下: package com.android.imooc.chat; import ...

最新文章

  1. python程序实例教程基础-Python简单基础小程序的实例代码
  2. java中调用api的方式(postJsonHTTP)
  3. Windows 下安装mysql
  4. android的m、mm、mmm编译命令
  5. [PAT乙级]1010 一元多项式求导
  6. Codeforces Round #716 (Div. 2) D(随机算法)
  7. Win32ASM-进程学习【2】
  8. Iirf安装配置(图文)
  9. Project Server 2003配置部署指南_百度文库
  10. 怎样在Xcode 4下编译发布与提交App到AppStore?(转)
  11. SQL Server商业智能–简介
  12. Java super与this
  13. QQ模拟自动登录实现
  14. 刚刚!中科院主导的国产编程语言木兰负责人回应了!承认32位机器上,是基于Python二次开发!...
  15. STM32跑html协议,STM32移植SBUS协议
  16. angularjs姓名转拼音js
  17. 无线射频专题《IEEE 802.11协议讲解1@路由高级配置项,Beacon周期、RTS阈值、DTIM》
  18. 微型计算机鸡兔同笼,奥数鸡兔同笼问题
  19. 「Computer Vision」Note on Kinetics and Two-Stream Inflated 3D ConvNets (I3D)
  20. 【XSY2495】余数

热门文章

  1. shrio的rememberMe不起作用
  2. 接口测试学习——jmeter分布式压测
  3. css--左右visibility建立 “collapse”值问题
  4. Python Django 学习笔记
  5. CSS方式支持IE6的fixed样式
  6. First Impression on BBED: recover deleted rows
  7. c++:json字符串拼接,json对象组装
  8. C/C++中函数参数传递
  9. C++中重载与重写函数区别及虚函数(转载)
  10. 多线程—synchronized及同步器