Byte存储为String时遇到的问题
来源:互联网 发布:情侣装店铺推荐知乎 编辑:程序博客网 时间:2024/06/05 19:18
做App时,每当节假日,公司都会要求更换启动图,如果不更改其它功能的话,再打包个APP发布到线上是完全多余的事情,想到可以利用数据存储流来处理图片,这里做个记录
//请求网络接口获取启动图,将图片转为流式@Overridepublic void onSuccess(File result_img){ byte [] mByte = getByte(result_img); //将得到的byte[]转为Sting并放入SharePreference里 SharedPreferences sharedPreferences = getSharedPreferences("fileIO", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); try { //ISO-8859-1为国际通用编码,用以正确的存储流 editor.putString("dex_startImage", new String(mByte, "ISO-8859-1")); editor.commit(); //这里我们进行取流操作 sharedPreferences = getSharedPreferences("fileIO", MODE_PRIVATE); String fileIOString = sharedPreferences.getString("dex_startImage", ""); byte[] asd_byte = fileIOString.getBytes("ISO-8859-1"); //将byte转为bitmap再转为BitmapDrawable BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), BitmapFactory.decodeByteArray(asd_byte, 0, asd_byte.length)); (LinearLayout)findviewbyId(R.id.mainactivity_linearLayout).setBackground(bitmapDrawable); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }}//图片文件转为流public byte[] getBytes(File file) { byte[] buffer = null; try { File mFile = file; FileInputStream fis = new FileInputStream(mFile); ByteArrayOutputStream bos = new ByteArrayOutputStream(1000); byte[] b = new byte[1024]; int n; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return buffer; }}
非常简单,值得注意的就是存取byte时要设置编码标准,不然默认String是无法全部识别byte的
0 0
- Byte存储为String时遇到的问题
- 判断string为空时遇到的小问题
- 用sscanf转换MAC字符串为BYTE数组时遇到的问题
- [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]
- [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]
- String字符串转换为byte byte转换为String字符串 汉字乱码问题
- 把String类型转换为Date类型遇到的问题。
- byte[]转换为String
- byte[]类型toString遇到的问题
- String与byte的转换问题
- 输出string数组时遇到的问题
- redis的两种存储方式string和byte对比
- unity byte数组存储为.byte文件
- string 转换为 byte[] 、byte[] 转换为 string
- String转化为byte[]和byte[]转化为String
- js转string为byte[]
- Byte数组转化为String
- 把byte[]转换为String
- C语言:指针数组、const指针+计算机系统:字节顺序
- DMVPN+IPsec VPN 排错分析
- 大数据笔记讲解(一)
- Android性能优化——代码优化
- 关于事务的理解
- Byte存储为String时遇到的问题
- Python 文件操作
- Android消息机制随笔
- matlab 对于图像操作函数的详解
- Nginx配置文件详细说明
- Android单排上王者系列之-Android内存
- WebService到底是什么?
- unity脚本之间调用及特例 枚举
- AFNetworking学习的那些事(一)