Android中用base64转换完之后的字符串加入到url中,发现出现空指针异常,已经验证了转换之后的字符串直接打

作者&投稿:职磊 (若有异议请与网页底部的电邮联系)
Android 将图片转成base64,小图片可以正常转换,当遇到大图片是拿到的字符串是null~

因为太大了,一般超过2M就不要用这种方式直接存储处理图片,建议使用缩略图。

可以把bitmap图片和base64字符串来互相转换~ 从此妈妈再也不用担心我处理bitmap啦~
  /**
  * 将bitmap转换成base64字符串
  *
  * @param bitmap
  * @return base64 字符串
  */
  public String bitmaptoString(Bitmap bitmap, int bitmapQuality) {
  // 将Bitmap转换成字符串
  String string = null;
  ByteArrayOutputStream bStream = new ByteArrayOutputStream();
  bitmap.compress(CompressFormat.PNG, bitmapQuality, bStream);
  byte[] bytes = bStream.toByteArray();
  string = Base64.encodeToString(bytes, Base64.DEFAULT);
  return string;
  }
  /**
  * 将base64转换成bitmap图片
  *
  * @param string base64字符串
  * @return bitmap
  */
  public Bitmap stringtoBitmap(String string) {
  // 将字符串转换成Bitmap类型
  Bitmap bitmap = null;
  try {
  byte[] bitmapArray;
  bitmapArray = Base64.decode(string, Base64.DEFAULT);
  bitmap = BitmapFactory.decodeByteArray(bitmapArray, 0,
  bitmapArray.length);
  } catch (Exception e) {
  e.printStackTrace();
  }
  return bitmap;
  }

百度是最好的老师:
标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符。
  为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。


Android中怎么在应用A中启动或安装应用B
有时候一个应用需要启动另外一个应用来完成操作,比如在某些应用中打开闹钟,相机,日历等等。启动或安装相应的应用的方法:Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"\/data\/data\/packagename"是否存在来实现。[java] view plain copy ...

android应用中,从界面A-->B-->C,怎么返回的时候直接从C-->A?_百度...
这个有好几种方法,具体看需求吧,可以设置activity的启动模式,也可以在b->c时finish掉b,也可以在C中直接重写onKeyDown来精确控制要返回的界面。

如何在一个android工程中调用另一个android工程的代码和资源啊?_百 ...
设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。比如A中有lib库引用,则B中...

android jni b是什么类型
NDK是谷歌开发的一用于Android开发调用C语言的工具,而JNI是Java调用C语言的协议,桥梁。谷歌在Android2.3版本变开发出NDK供开发者使用,开发者使用它可以很方便的调用C代码,而代码书写规范需要遵循JNI协议进行定义。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,...

android中,一个类里边有两个方法,比如A和B,线在有多个线程,都可以随 ...
public static void main(String[] args) { S s = new S();Thread t1 = new Thread(new Runnable() { Override public void run() { while (true) { s.A();} } });Thread t2 = new Thread(new Runnable() { Override public void run() { while (true) { s.B();} } });...

android怎么在一个activity中finish掉另外一个activity
1、finishAcyivity()2、用广播监听 3、用ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);试试吧 比如说B要finish掉A 在A中设置一个静态变量instance 然后在onCreate中 instance=this;然后在B中调用A.instance.finish();...

android中从a界面跳到b界面,在b界面点返回按钮返回a界面,从c界面跳到...
startActivity(intent);a.this.finish();如果是还要带参数传输和返回的话 ,在a中:\/\/new一个intent Intent intent=new Intent();intent.setClass(a.this,b.this);\/\/a为当前activity,b为目标activity \/\/new一个Bundle对象并将要传递的数据传入 Bundle bundle=new Bundle();bundle.putDouble("SEX...

android_b759直连是什么意思
你是怎么调用的,代码里使用的话有专门的9图条用方法,不是直接set就行的

vivo\/iQOO手机的虚拟A\/B功能有什么作用?
虚拟A\/B(Virtual A\/B),属于Android系统下的一种新的更新机制,它能实现系统无缝更新,减少系统更新时(无法使用手机)的等待时间。采用虚拟A\/B更新机制的机型,当在系统升级页面下载并安装新版本时,手机不会重启进入升级过程,而是在手机使用过程中就能完成更新,不会影响手机当前系统版本使用,当手机...

androidstudiobenter键不把提示代码
1、File-->InvalidateCaches\/Restart清除一下缓存,不行请看步骤2。2、File-->settings-->Appearance&Behavior-->SystemSettings-->AndroidSDK,点击已选中的SDK版本,点击Apply卸载SDK。卸载成功以后再点击该SDK版本,重新安装一下。3、上述步骤还未能解决问题,请按照步骤2-->步骤1的顺序重做一遍即可。

猇亭区18985655024: 安卓开发中怎么将文件转换成base64字符串 -
莱丁今福: 将文件转成base64 字符串,android 手机开发的时候会用到,当然在android有转base64的方法,这里调用的是jdk的api [代码] [Java]代码 01 package com.xbl.test; 02 03 import java.io.File; 04 import java.io.FileInputStream; 05 import java.io....

猇亭区18985655024: Android中用base64转换完之后的字符串加入到url中,发现出现空指针异常,已经验证了转换之后的字符串直接打 -
莱丁今福: 百度是最好的老师:标准的Base64并不适合直接放在URL里传输,因为URL编码器会把标准Base64中的“/”和“+”字符变为形如“%XX”的形式,而这些“%”号在存入数据库时还需要再进行转换,因为ANSI SQL中已将“%”号用作通配符.为解决此问题,可采用一种用于URL的改进Base64编码,它不在末尾填充'='号,并将标准Base64中的“+”和“/”分别改成了“*”和“-”,这样就免去了在URL编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式.

猇亭区18985655024: android 程序 从数据库获取的base64类型的字符串转换成图片 再通过HashMap 传进入 但是图片显示不了 -
莱丁今福: 可以把bitmap图片和base64字符串来互相转换~ 从此妈妈再也不用担心我处理bitmap啦~ /** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bitmap bitmap, int ...

猇亭区18985655024: android 怎么用base64 加密imageview -
莱丁今福: // 加密传入的数据是byte类型的,并非使用decode方法将原始数据转二进制,String类型的数据 使用 str.getBytes()即可 String str = "Hello!";// 在这里使用的是encode方式,返回的是byte类型加密数据,可使用new String转为String类型 ...

猇亭区18985655024: android UDP通讯 -- 图片发送 -
莱丁今福: PC端: /** * 把照片转换成 base64 格式 * @param path 照片路径 * @return 转换后的二进制照片 */ private String getImageStr(String path) { String base64code = null; FileInputStream fis = null; ByteArrayOutputStream baos = null; File file ...

猇亭区18985655024: android 怎么将语音转换成base64 -
莱丁今福: 只能用流将语音读出来,然后把流转换就可以了

猇亭区18985655024: android怎么解析base64得到MP4,然后缓存到手机里,得到URL并调用系统播放器播放 -
莱丁今福: HttpClient 下载、并解码,同时保存

猇亭区18985655024: Android 将图片转成base64,小图片可以正常转换,当遇到大图片是拿到的字符串是null -
莱丁今福: 因为太大了,一般超过2M就不要用这种方式直接存储处理图片,建议使用缩略图.

猇亭区18985655024: base64的byte[]如何转换成图片 -
莱丁今福: 在C#中 图片到byte[]再到base64string的转换: Bitmap bmp = new Bitmap(filepath); MemoryStream ms = new MemoryStream(); bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms....

猇亭区18985655024: 如何将Bitmap位图与base64字符串相互转换 -
莱丁今福: 无论要对图片,还是mp3,还是电影文件,本质都是2进制串.所以你缺的不是位图到base64字符串的转换,而是一套Base64编码解码算法.不清楚你的语言,以java为例.jdk1.8之前有api:Base64Encoder,Base64Decoder分别编码/解码.1.8除了更加厉害的 “Base64”.当然可以搜索各种各样的第三方jar包罗.对于你这个文件处理需求,推荐这个:http://download.csdn.net/download/liuzhao2011/9963611.下载后,将java文件考项目中,调好包路径即可.大文件处理速度快,可以直接输出编码后的文件(代码中有例子).使用方便无痛苦.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网