XUtils3实现进度条文件上传

来源:互联网 发布:字幕重叠拼图软件 编辑:程序博客网 时间:2024/06/05 19:08
package com.edf.doctor.activity;import java.io.File;import java.io.IOException;import java.net.URISyntaxException;import org.xutils.common.Callback.CommonCallback;import android.app.Activity;import android.app.ProgressDialog;import android.content.Intent;import android.graphics.Bitmap;import android.media.ThumbnailUtils;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore.Video.Thumbnails;import android.text.TextUtils;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import com.edf.doctor.R;import com.edf.doctor.common.StringUtils;import com.edf.doctor.config.Constants;import com.edf.doctor.ui.NetWorkUtilsClass;import com.edf.doctor.util.FileUtilities;import com.edf.doctor.utils.LogUtil;import com.lidroid.xutils.HttpUtils;import com.lidroid.xutils.exception.HttpException;import com.lidroid.xutils.http.RequestParams;import com.lidroid.xutils.http.ResponseInfo;import com.lidroid.xutils.http.callback.RequestCallBack;import com.lidroid.xutils.http.client.HttpRequest;/** * @author: Fanhua * @类 说 明: 上传视频 * @version 1.0 * @创建时间:2017-3-1 上午10:28:12 *  */public class UpLoadVideoActivity extends Activity implements OnClickListener {private Button sure_upload;private EditText VieoName, briefContent;private ImageView video_iv;private String path;private String uploadUrl = Constants.UPLOADFILEVIDEO; // 上传路径private static final int USE_PICTURE = 0x101;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.uploadvideo_layout);initView();initTitle();}// 初始化private void initView() {VieoName = (EditText) findViewById(R.id.vieoName);briefContent = (EditText) findViewById(R.id.brief_content);sure_upload = (Button) findViewById(R.id.sure_upload);sure_upload.setOnClickListener(this);video_iv = (ImageView) findViewById(R.id.upload_video_imageiv);video_iv.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.sure_upload:final String viewName = VieoName.getText().toString().trim();final String briefcontent = briefContent.getText().toString().trim();XutilsUploadVideo(viewName, briefcontent);break;case R.id.upload_video_imageiv:Intent intent = new Intent();intent.setType("video/*");intent.setAction(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);try {startActivityForResult(Intent.createChooser(intent, "选择一个视频上传(建议在50M之间)"),USE_PICTURE);} catch (Exception e) {e.printStackTrace();}break;}}private ProgressDialog progressDialog;private void XutilsUploadVideo(String v_name, String desc)throws IOException {RequestParams params = new RequestParams("UTF-8");params.addBodyParameter("userId", Constants.userid);params.addBodyParameter("videoName", v_name);params.addBodyParameter("description", desc);params.addBodyParameter("file", new File(path), "video/*");HttpUtils http = new HttpUtils(1000 * 60);http.configResponseTextCharset("UTF-8");http.configCurrentHttpCacheExpiry(1000 * 60);http.configSoTimeout(5000 * 60);http.send(HttpRequest.HttpMethod.POST, uploadUrl, params,new RequestCallBack<String>() {@Overridepublic void onStart() {progressDialog = new ProgressDialog(UpLoadVideoActivity.this);progressDialog.setTitle("请稍等...");progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progressDialog.setCancelable(true);progressDialog.setCanceledOnTouchOutside(false);progressDialog.show();}@Overridepublic void onLoading(long total, long current,boolean isUploading) {if (isUploading) {progressDialog.setProgress((int) (((int) current / (float) total) * 100));}}@Overridepublic void onSuccess(ResponseInfo<String> responseInfo) {progressDialog.dismiss();LogUtil.logD(responseInfo.result + "");Toast.makeText(UpLoadVideoActivity.this, "上传成功", 0).show();finish();}@Overridepublic void onFailure(HttpException error, String msg) {LogUtil.logD(error + "---" + msg.toString());progressDialog.dismiss();}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (data == null) {Toast.makeText(UpLoadVideoActivity.this, "没有视频,请重新选择", 0).show();return;}Uri uri = data.getData();switch (requestCode) {case USE_PICTURE:if (uri == null) {Toast.makeText(UpLoadVideoActivity.this, "视频出错,请重新选择", 0).show();return;}try {path = FileUtilities.getPath(this, uri);} catch (URISyntaxException e) {LogUtil.logD("result uri exception!");}if (!StringUtils.isEmpty(path)) {video_iv.setImageBitmap(createBitmapThumbnail(path));}break;}}private Bitmap videoThumb;// 生成缩略图private Bitmap createBitmapThumbnail(String path2) {videoThumb = ThumbnailUtils.createVideoThumbnail(path2,Thumbnails.MINI_KIND);return videoThumb;}@Overrideprotected void onDestroy() {super.onDestroy();if (videoThumb != null) {videoThumb.recycle();}}}

0 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 捡的狗狗走了怎么办 想找一个人的qq怎么办 眼皮跳了两天了怎么办 右眼皮跳一直跳怎么办 当婚姻走到尽头怎么办 结婚证丢了怎么办离婚 老公有外遇要离婚怎么办 淘宝买到假手机怎么办 在药店买到假药怎么办 玩久了不想工作怎么办 我很懒不想工作怎么办 金寒水冷的八字怎么办 两岁宝宝内八字怎么办 小孩走路脚内八字怎么办 10岁走路内八字怎么办 8岁孩走路内八字怎么办 一岁宝宝足外翻怎么办 2岁宝宝小腿弯怎么办啊 一岁宝宝小腿弯怎么办 一岁小儿o型腿怎么办 两岁宝宝o型腿怎么办 狗狗前腿外八字怎么办 20岁走路内八字怎么办 9岁儿童脚内八字怎么办 5岁宝宝脚内八字怎么办 一岁宝宝内八字怎么办 两人八字合不合怎么办 考到不好的大学怎么办 考的大学不理想怎么办 只考上二本大学怎么办 w7电脑中病毒了怎么办 电脑中病毒了该怎么办 泰迪呼吸急促怎么办啊 狗狗呼吸急促是怎么办 狗狗着凉了呕吐怎么办 狗鼻子流黄鼻涕怎么办 刚出生婴儿睡觉不踏实怎么办 有人溺水后你该怎么办 借钱不还怎么办没欠条 私人欠货款不还怎么办 公司欠货款不还怎么办