Android中Base64的简单使用

 1 服务端图片的信息被转化成字符串,传到android客户端,android端需要把这些信息再解码转化成图片并保存在本地。
 2 //编码部分
 3 String string = Base64.encodeToString(str.getBytes(),Base64.DEFAULT);
 4    //解码部分string 是服务端发来的信息
 5 byte[] byteIcon= Base64.decode(string,Base64.DEFAULT);
 6 for (int i = 0; i < byteIcon.length; ++i) {
 7     if (byteIcon[i] < 0) {
 8 byteIcon[i] += 256;
 9  }}
10 //建立一个文件对象
11 File iconFile = new File("userIcon.png");
12 FileOutputStream fos = new FileOutputStream(iconFile);
13 if(!iconFile.exists())
14 {
15  iconFile.creatNewFile();
16 }
17 //把图片数据写入文件形成图片
18 fos.write(byteIcon);
19
20 我到网上搜了一下,发现我这种写法变复杂了,实际上byteIcon可以直接转换成Bitmap,不过这样就不能实现本地保存了
21 //服务端
22 //编码,记住这个流,经常用于图片和Base64数据的切换
23 ByteArrayOutputStream baos = new ByteArrayOutputStream();
24 //图片压缩并转换成流,bitmap在这我就不初始化了
25 bitmap.compress(Bitmap.compressFormat,100,baos);
26 byte[] byteServer = baos.toByteArray();
27 String result = Base64.encodeToString(byteServer.Base64.DEFAULT);
28 [在此输入链接描述][1]
29
30 //android端
31 byte[] byteIcon = Base64.decode(result,Base64.DEFAULT);
32 Bitmap bitmap = BitmapFactory.decode(byteIcon,0,byteIcon.length);

以上数据转自:http://my.oschina.net/lengwei/blog/355901仅作为收藏,

在我自己的一篇文章里面也是用到了Base64,有兴趣的可以去看看,http://www.cnblogs.com/fuck1/p/5459660.html

时间: 2024-08-10 09:42:43

Android中Base64的简单使用的相关文章

Android中SharePreferences的简单实现

Android中提供SharePreferences这种轻量级的数据存储模式,这种模式能够存储少量数据,并能为自身和其他应用提供数据接口.相对于其他数据存储方式,SharePreferences更加轻量.以下是整个SharePreferences实现的代码: xml布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas

android中ViewConfiguration的简单介绍

android.view.ViewConfiguration Contains methods to standard constants used in the UI for timeouts, sizes, and distances. 常用方法: ViewConfiguration.get(getContext()).getScaledTouchSlop() 官方描述:Distance in pixels a touch can wander before we think the use

Android中AsyncTask的简单用法【转】

在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验.但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误.因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户.这样就解决了子线程更新UI的问题.但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题.因此android提供了

[原创]Android中LocationManager的简单使用,获取当前位置

Android中LocationManager的提供了一系列方法来地理位置相关的问题,包括查询上一个已知位置:注册/注销来自某个 LocationProvider的周期性的位置更新:以及注册/注销接近某个坐标时对一个已定义Intent的触发等.今天我们就来看看Android 中LocatinManager的简单使用,以获取当前所在的位置为例. 首先,我们需要获取LocationManager的一个实例,这里需要注意的是他的实例只能通过下面这种方式来获取,直接实例化LocationManager是

android中的回调简单认识

首先说一下最抽象的形式--2个类,A类和B类.A类含有1个接口.1个接口变量.(可能含有)1个为接口变量赋值的方法以及1个会使用接口变量的"地方";B类实现A中的接口,(可能)含有1个A类实例的引用,并且(可能用A类中为接口变量赋值的方法)将"自己"传递给A类的接口变量. 再将一个小故事: 我们平时考试答题的第一件事是干嘛?没错,是写上学号和姓名.这里注意了,我们填写学号和姓名不是给自己看的(即该方法不是给自己调用的),而是给老师登记分数时看的(预留给系统将来调用)

Android中ProgressDialog的简单示例

网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主要的Activity ProgressBarDemo.java Java代码   package com.lveyo.android.demo.progressbar; import android.app.Activity; import android.app.ProgressDialog; i

Android中实现一个简单的逐帧动画(附代码下载)

场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先准备一组不同表情的照片,放在res/drawable下,然后在此目录下新建动画资源文件fairy.xml <?xml version="1.0" encoding="utf-8"?> <animati

Android中Tomcat的简单配置和使用

因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录下来比较好. 因为我是学Android的,所以jdk什么的已配置好了.如果不知道,请看<java的环境变量配置> 首先我们先要下载Tomcat:http://tomcat.apache.org/(请自行选择版本),我用的是Tomcat 7.0.55. 我下载下来是一个压缩包,选择好路径后,进行解压

Android笔记(二十八) Android中图片之简单图片使用

用户界面很大程度上决定了APP是否被用户接收,为了提供友好的界面,就需要在应用中使用图片了,Android提供了丰富的图片处理功能. 简单使用图片 使用Drawable对象 为Android应用增加了Drawable资源之后,系统会自动在R.java文件中创建一个索引项:R.drawable.fileName,然后在Java中可以通过R.drawable.fileName来获取到该资源的索引(一个int类型的常量),如果要获取实际的Drawable对象,则可以调用Resources的getDra