Android文件图片上传的详细讲解(三)---模式回调类
来源:互联网 发布:《大数据时代》pdf 编辑:程序博客网 时间:2024/05/16 13:03
- 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();
- }
- }
0 0
- Android文件图片上传的详细讲解(三)---模式回调类
- Android文件图片上传的详细讲解(二)--AsyncTask的用法
- Android文件图片上传的详细讲解(二)--AsyncTask的用法
- Android文件图片上传的详细讲解(四)---服务端编码
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传
- Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传GOOD
- 文件上传详细讲解
- android中的图片(文件)的上传
- 文件上传的三种模式
- Android图片开源库:最全面、详细的Picasso讲解
- ADNROID XML图像资源文件详细讲解(三)
- Android 上传文件,图片
- 详细讲解Asp.net MVC上传文件与下载文件的方法
- 详细讲解Asp_net MVC上传文件与下载文件的方法
- iOS证书及ipa包重签名探究
- Android项目:模仿ConvertView原理(ListView的getView方法)对View对象进行回收和复用
- AFNetworking 使用总结 (用法+JSON解析)
- 深度探索I/O完成端口
- 图像目标区域质心计算
- Android文件图片上传的详细讲解(三)---模式回调类
- ViewPager复用调研
- xmpp-iOS-注册和登录
- WinSock重叠I/O模型
- dubbo、zookeeper,springMVC的整合
- Android文件图片上传的详细讲解(四)---服务端编码
- java.lang.IllegalAccessError: tried to access method oracle.jdbc.pool.OracleDataSource.getPassword()
- 乱七八糟的笔记
- NV12转化为BMP函数