package com.easyway.fileupload;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.ContentResolver;import android.content.DialogInterface;import android.content.Intent;import android.database.Cursor;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** * Activity 上传的界面 *  * @Title:  * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company:易程科技股份有限公司 * @Date:2012-7-2 * @author  longgangbai * @version 1.0 */public class AndroidUploadFilesActivity extends Activity implements OnClickListener{ private static final String TAG = "uploadImage";  private Button selectImage,uploadImage; private ImageView imageView;  private String picPath = null;     /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                selectImage = (Button) this.findViewById(R.id.selectImage);        uploadImage = (Button) this.findViewById(R.id.uploadImage);        selectImage.setOnClickListener(this);        uploadImage.setOnClickListener(this);                imageView = (ImageView) this.findViewById(R.id.imageView);                    }     @Override public void onClick(View v) {  switch (v.getId()) {  case R.id.selectImage:   /***    * 这个是调用android内置的intent,来过滤图片文件   ,同时也可以过滤其他的      */   Intent intent = new Intent();   intent.setType("image/*");   intent.setAction(Intent.ACTION_GET_CONTENT);   //回调图片类使用的   startActivityForResult(intent, RESULT_CANCELED);   break;  case R.id.uploadImage:   if(picPath!=null&&picPath.length()>0)   {    UploadFileTask uploadFileTask=new UploadFileTask(this);    uploadFileTask.execute(picPath);   }   break;  default:   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);   try {    String[] pojo = {MediaStore.Images.Media.DATA};        Cursor cursor = managedQuery(uri, pojo, null, null,null);    if(cursor!=null)    {     ContentResolver cr = this.getContentResolver();     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));      imageView.setImageBitmap(bitmap);     }else{      alert();     }    }else{     alert();    }       } catch (Exception e) {    e.printStackTrace();   }  }    /**   * 回调使用   */  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();    }}

更多相关文章

  1. Android文件操作IO技术
  2. Android(安卓)LK Bootlaoder启动概览
  3. android 文件目录权限
  4. android 关于图片的放大,缩小,旋转功能的实现(附源码)
  5. Android(安卓)Toast
  6. 【Android】Activity与服务Service绑定
  7. Android(安卓)Studio中的mipmap和drawable
  8. android 轮播图无限循环,自动播放
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android(安卓)WebView的简单使用
  2. Android(安卓)external.db和internal.db
  3. Android(安卓)网络框架学习之OKHttp
  4. 自定义View之onMeasure()
  5. Appium学习(四)--原理、日志介绍
  6. Android开发常用命令整理
  7. Android(安卓)RecyclerView实现图片自适
  8. android studio编译jar包或者aar包
  9. fir.im Weekly - 如何在 iOS 上构建 Tens
  10. Google Protocol Buffer