获取本地图片后,通过保存路径的方式重新加载图片的问题
我打印出了保存的路径名,并没有错,可就是加载不了图片。虽然知道可以用数据库或者其他方式保存图片,但是为什么这种保存路径的方式不能实现呢?请路过的[/code]大侠解惑。。。。
代码如下
private Button bt_add;
private ImageView iv_local;
private SharedPreferences sp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_local = (ImageView) findViewById(R.id.iv_loacl);
sp = getSharedPreferences("imagepath", MODE_PRIVATE);
String path = sp.getString("path", "");
if ("".equals(path) == false) {
System.out.println("保存的图片路径为:"+ path);
try {
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse(path);
Bitmap bitmap = BitmapFactory.decodeStream(resolver.openInputStream(uri));
iv_local.setImageBitmap(bitmap);
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(this, "图片未找到!", Toast.LENGTH_SHORT).show();
}
}
bt_add = (Button) findViewById(R.id.bt_add);
bt_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
/* 开启Pictures画面Type设定为image */
intent.setType("image/*");
/* 使用Intent.ACTION_GET_CONTENT这个Action */
intent.setAction(Intent.ACTION_GET_CONTENT);
/* 取得相片后返回本画面 */
startActivityForResult(intent, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
//用户点击所需的图片后,返回一个uri
Uri uri = data.getData();
Log.e("uri", uri.toString());
try {
ContentResolver resolver = this.getContentResolver();
Bitmap bitmap = BitmapFactory.decodeStream(resolver.openInputStream(uri));
iv_local.setImageBitmap(bitmap);
//将得到的图片的路径保存在SharedPreferences中
sp = getSharedPreferences("imagepath", MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("path", uri.toString());
editor.commit();
}catch (IOException e) {
Log.e("Exception", e.getMessage(), e);
}
}
super.onActivityResult(requestCode, resultCode, data);
}相关推荐
opencv入门基础加载、修改、保存图片以及掩膜操作详细代码加注释
** OpenCV学习 ** 环境:vs2017+opencv3.4.1 一、加载、修改、保存图片 1.加载图像(cv::imread) imread功能是加载图像文件成为一个Mat对象,其中 第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型,支持常见的以下三种参数值: (1)IMREAD_UNCHANGED(<0)表示假在原图,不做任何改变 (2)IMREAD_GRAYSC...
前端图片加载失败排查指南:从路径到跨域的完整解决方案
在Web开发中,静态资源加载是基础且关键的技术环节。其核心原理涉及浏览器解析、HTTP请求响应、服务器文件系统与安全策略的协同。理解这一流程的技术价值在于,它能确保用户体验的流畅性,并直接影响网站性能与SEO表现。常见的应用场景包括网页图片展示、图标渲染、媒体内容加载等。当资源加载失败时,开发者需要系统性地排查路径、服务器配置、网络策略及跨域问题。本文聚焦于图片加载失败这一典型场景,结合浏览器开发者工具的使用与服务器端配置,提供一套从现象到根源的完整诊断思路,帮助开发者高效解决常见的404、403及CORS
前端开发组件示例源码_f1b6a91d详解
前端开发组件示例源码_f1b6a91d,内容包含源码/脚本与使用说明文档,结构清晰、注释完整,适合学习参考与二次开发,下载解压即可查看。
前端开发基于history.js的HTML5与HTML4浏览器兼容方案:单页应用无刷新历史状态管理技术实现-Gjl4Gf1792158475
内容概要:本文系统介绍了如何利用history.js实现单页应用(SPA)在HTML5c与HTML4浏览器间s草错发的无缝历史状态管理。通过封装原生History API并在不支持的浏览器中自动降级为哈希路由,history.js解决了因浏览器兼容性导致的后退按钮失效、URL混乱等问题。文章详细讲解了其核心机制,包括状态对象管理、自动模式切换(HTML5 pushState vs HTML4 哈希)、状态数据持久化以及针,对Safari、IE等浏\览器的兼容性修复方案,并提供了从入门到实战的完整示例,涵盖初始化、事,件监听、页面加载及性能优化技巧。;Gjl4Gf1792158475 www.gblp.net www.gsctlq.com gezhixq.cn www.greendalian.com wap.gxqnm.com
前端开发基于history.js的HTML5与HTML4浏览器兼容方案:单页应用无刷新历史状态管理技术实现-5Z6jeSqI1792158476
内容概要:本文系统介绍了如何利用history.js实现单页应用(SPA)在HTML5c与HTML4浏览器间s草错发的无缝历史状态管理。通过封装原生History API并在不支持的浏览器中自动降级为哈希路由,history.js解决了因浏览器兼容性导致的后退按钮失效、URL混乱等问题。文章详细讲解了其核心机制,包括状态对象管理、自动模式切换(HTML5 pushState vs HTML4 哈希)、状态数据持久化以及针,对Safari、IE等浏\览器的兼容性修复方案,并提供了从入门到实战的完整示例,涵盖初始化、事,件监听、页面加载及性能优化技巧。;5Z6jeSqI1792158476 sdhmgggw168.com www.shangliangwangye.com www.sdbing.net migu.blsxex.abxlbz.sc.cn www.safespeed.net.cn


