动态获取文件路径或图片路径
来源:互联网 发布:hl202控制软件下载 编辑:程序博客网 时间:2024/04/29 14:08
我也不详细说了,直接上代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button back; private ImageView biment; private String picPath = null; private Button xiangji; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); back= (Button) findViewById(R.id.buck); biment= (ImageView) findViewById(R.id.biment); xiangji= (Button) findViewById(R.id.xiangji); back.setOnClickListener(this); xiangji.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.buck: /** * 打开本地存储 */ Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent, 1); break; case R.id.xiangji: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { Uri uri = data.getData(); Log.e("tag", "uri = " + uri); ContentResolver cr = this.getContentResolver(); switch (requestCode){ case 1: /** * 当选择的图片不为空的话,在获取到图片的途径 */ try { String[] pojo = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, pojo, null, null, null); if (cursor != null) { int colunm_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String path = cursor.getString(colunm_index); /*** * * 这里加这样一个判断主要是为了第三方的软件选择,比如:使用第三方的文件管理器的话,你选择的文件就不一定是图片了, * * 这样的话,我们判断文件的后缀名 如果是图片格式的话,那就是文件 */ if (path.endsWith("jpg") || path.endsWith("png")) { picPath = path; Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri)); biment.setImageBitmap(bitmap); } else { picPath = path; InputStream is=cr.openInputStream(uri); Log.e("lujing"," "+uri.getEncodedPath()); Toast.makeText(this,uri.getEncodedPath(),Toast.LENGTH_SHORT).show(); } } else { alert(); } } catch (Exception e) { } break; case 2: Bitmap bitmap = null; try { bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri)); biment.setImageBitmap(bitmap); } catch (FileNotFoundException e) { e.printStackTrace(); } biment.setImageBitmap(bitmap); break; } } super.onActivityResult(requestCode, resultCode, data); } private void alert() { Dialog dialog = new AlertDialog.Builder(this).setTitle("提示") .setMessage("您选择的不是有效的图片") .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { picPath = null; } }).create(); dialog.show(); }}
阅读全文
0 0
- 动态获取文件路径或图片路径
- 获取项目路径或文件路径
- js动态获取文件路径
- 动态获取jar文件的路径
- 动态获取java中的文件路径
- Java图形界面(GUI) 动态获取上传或下载文件的路径问题
- WinFrom中如何获取文件图片路径
- NSHomeDirectory(); 动态获取路径
- 获取图片路径
- 获取图片路径
- 获取页面图片路径
- iOS 获取图片路径
- 图片路径获取问题
- Android获取图片路径
- uri获取图片路径
- 获取file图片路径
- 用一个字段保存多个图片或文件路径
- 获取FCKeditor获取图片路径
- 一个小例子认识工厂模式
- thinkphp5 源码分析一 入口文件
- Java开发记录1---JRE环境和Eclipse安装
- python对xml文件写入操作
- io-3-socket通道
- 动态获取文件路径或图片路径
- Hash算法冲突解决方法分析
- github上关于iOS的各种开源项目集合 (转载)
- servlet容器
- liunx 简单操作(持续更新)
- UVa514
- values-v24 Error for android studio
- PAT甲级 1030
- Hive启动提示端口10000被占用:SelectChannelConnector@0.0.0.0:10000: java.net.BindException