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
- XUtils3实现进度条文件上传
- xutils3 批量文件上传
- ajax上传文件进度条实现
- php实现文件上传进度条
- php实现文件上传进度条 .
- php实现文件上传进度条
- SpringMVC实现文件上传进度条
- Servlet实现上传文件进度条
- 实现HttpClient上传文件进度条
- ajax实现上传文件进度条
- ajax实现文件上传进度条
- XMLHttpRequest上传文件实现进度条
- 大文件上传进度条实现
- 使用xUtils3和RandomAccessFile来实现文件的分片上传
- Ajax上传如何实现文件上传进度条
- Android使用xUtils3上传文件
- xutils3.0 多文件上传
- struts1.2下实现文件上传进度条
- 图的建立之邻接表的建立及遍历
- C++ 初始化列表和构造函数
- postgresql安装、TPC-H测试和代码调试
- 数据结构实验之链表七:单链表中重复元素的删除
- 你所不知道的Activity转场动画——ActivityOptions
- XUtils3实现进度条文件上传
- 统计输入的单词中不同单词的数量的C++代码
- JavaScript中的继承以及实现继承的几种方法
- linux route命令的使用详解
- spark streaming demo
- 3. Longest Substring Without Repeating Characters
- java IO
- Shell排序
- VisualSVN错误 Cannot query proxy blanket解决办法