首页 > 其他分享 >Android/ImageButton如何显示二进制字符流的图片

Android/ImageButton如何显示二进制字符流的图片

时间:2023-09-15 14:12:24浏览次数:44  
标签:ImageButton bitmapArray bitmap 二进制 Android Bitmap 图片

今天做获取用户接口信息,结构如下所示(UserIcon的值只是部分,不可用),有返回用户图片的信息(二进制),需要在页面显示,这里做下笔记

{
    "UserCode":"admin",
    "UserName":"管理员",
    "UserIcon":"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAUCklEQVR4nO2da5RdZX3Gf88+l8kkk2SSyd0"
}

1)直接在控件设置图片来源

 <ImageButton
                        android:id="@+id/img_in_pack_user_icon"
                        android:layout_width="80dp"
                        android:layout_height="120dp"
                        android:background="@color/colorWhite"
                        android:src="@drawable/icon_un_login128"
                        android:scaleType="fitCenter"
                        />

2)通过后台动态设置图片来源(安卓图片资源)

 ImageButton imgUserIcon = findViewById(R.id.img_in_pack_user_icon);
 imgUserIcon.setImageResource(R.drawable.icon_male_doctor128);

3)通过后台动态设置图片来源(二进制字符流转成图片)

3.1)将二进制字符流转成Bitmap方法

   public static Bitmap convertStringToIcon(String outPut){
        Bitmap bitmap = null;
        try{
            byte[] bitmapArray;
            bitmapArray = android.util.Base64.decode(outPut, android.util.Base64.DEFAULT);
            bitmap = BitmapFactory.decodeByteArray(bitmapArray,0,bitmapArray.length);

        }catch (Exception ex){
            ex.printStackTrace();
        }
        return bitmap;
    }

3.2)调用转换方法并设置图片

  String imgStream = "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";
  Bitmap bitmap = ToolHelper.convertStringToIcon(imgStream);
  imgUserIcon.setImageBitmap(bitmap);

参考地址:https://blog.csdn.net/cf8833/article/details/52371491

 

标签:ImageButton,bitmapArray,bitmap,二进制,Android,Bitmap,图片
From: https://www.cnblogs.com/xielong/p/17704884.html

相关文章

  • 我的 Android 学习之路,一位 5 年中大厂的 Android 老哥跟你聊聊
    本文首发我的微信公众号:程序员徐公光阴似箭,日月如梭,时间真的过得飞快。加上实习,从事Android开发,差不多有5年了,在这里,我分享一下我的经验,在Android的学习路上,我是站在巨人的肩膀上成长起来的。大概分为三个部分一、Android职业规划二、Android学习路线三、如何进入大厂An......
  • Android平台GB28181设备接入侧如何实现按需打开视音频采集传输
    GB/T28181规范GB/T28181是中国国家标准,全称为《安全防范视频监控联网系统信息传输、交换、控制技术要求》,该标准规定了城市安全防范监控系统中视频监控联网系统的一般要求和架构,以及信息传输、交换、控制的技术要求。它主要应用于安防领域,为各种视频监控系统提供了一致的接口规范,使......
  • 过去3个月各种Android面试
    在过去的3个月里,笔者历经了各种面试的考验。这场考验,就像是在造火箭,复杂而艰辛。尽管如此,笔者凭借自己的实力和努力,最终拿下了百度、腾讯和京东的录用通知。经过深思熟虑,笔者可能会选择京东,这也许让你感到有些意外。腾讯无疑是一个诱人的选择,它提供的薪资和福利待遇都相当可观。笔......
  • android中的VERSION和VERSION_CODES和compileSdkVersion, minSdkVersion 和 targetSdk
    一背景经常会有代码中用到  Build.VERSION.SDK_INT<Build.VERSION_CODES.O,这是指什么意思。在app项目中,经常会看到android{compileSdkVersion30buildToolsVersion"30.0.3"defaultConfig{applicationId"com.yl.qrcode"minSdkVersio......
  • Android studio 修改APK打包生成名称
    在app的build.gradle的android{}添加一下代码android.applicationVariants.all{variant->variant.outputs.all{defcreateTime=newDate().format("YYYYMMdd",TimeZone.getTimeZone("GMT+08:00"))//在这里修改apk文件名......
  • Flutter插件flutter_boost 在android模块中的报红问题解决.
    1,在开发Flutter插件时,打开插件的android项目,准备编写native端的代码时,发现各种报红,代码无法跳转,体验十分不好。就像我下面的截图一样:导入了FlutterBoostflutterBoost源码爆红。但是运行正常。。这说明本身是没有问题的。。分明是没有错误的类都存在。但是就是爆红。。。。可......
  • Android 9 WiFi连接过程
    我们从setting 入口开始分析该过程;1.setting界面 packages\apps\Settings\src\com\android\settings\wifi\WifiSettings.java 创建Dialog2@OverridepublicDialogonCreateDialog(intdialogId){switch(dialogId){caseWIFI_DIALOG_ID:......
  • 独家珍藏的Android面试突击宝典,轻松应对95%秋招面试题
    前言最近发现了很多同学出现的一个问题,简历已读不回,没有面试机会等等问题,觉得互联网不行了,Android不行了,甚至有人说自己这辈子最后悔的事情就是进入it这个行业。我每次看到这样的反馈或者这样的说法的时候,心里总不是滋味,我承认大家现在反馈的问题在一定程度上确实是客观存在的情况,......
  • Android广播接收器详解
    1.Android广播接收器简介在Android中,BroadcastReceiver(广播接收器)是一种组件,用于监听系统广播或应用程序内自定义广播,并在广播发生时接收并处理这些广播。广播接收器可以用于实现组件之间的通信,无论是在同一个应用程序内还是在不同应用程序之间。广播接收器有两个主要部分:注册广......
  • Android软键盘弹出关闭监听
    https://juejin.cn/post/6844903489051557902?from=singlemessage&isappinstalled=0#commentpackagecom.xiucai.common.manager;importandroid.graphics.Rect;importandroid.util.Log;importandroid.view.View;importandroid.view.ViewTreeObserver;import......