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(安卓)分别使用Post与Get实现网络图片加载
  2. Android(安卓)Studio导入Android平台源码
  3. Android(安卓)编译之android.mk
  4. Android(安卓)VideoView简单播放视频
  5. Android选择与上传图片之ImagePicker教程
  6. 用Android(安卓)NDK编译FFmpeg
  7. android自定义Toast视图
  8. Android的GridView控件点击图片变暗效果
  9. NPM 和webpack 的基础使用

随机推荐

  1. 短视频商城源码,Android(安卓)多图上传压
  2. Android使用JPEG实现图片压缩上传
  3. 老罗Android视频开发教程(百度地图实战开
  4. Android(安卓)PreferenceActivity 使用练
  5. php实现自运行的实例详解
  6. 在PHP中操作文件的扩展属性
  7. php文件下载后无法打开的处理方案及代码
  8. 一篇文章弄懂PHP和HTML的嵌套写法
  9. PHP八大设计模式案例详解
  10. JavaScript 中for/of,for/in 的详细介绍