博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android采取async框架文件上传
阅读量:7143 次
发布时间:2019-06-29

本文共 2289 字,大约阅读时间需要 7 分钟。

页面效果

须要的权限

  <uses-permission android:name="android.permission.INTERNET"/>

网络訪问权限;

布局文件:


核心代码

package com.examp.uplodefile;import java.io.File;import java.io.FileNotFoundException;import org.apache.http.Header;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.AsyncHttpResponseHandler;import com.loopj.android.http.RequestParams;public class MainActivity extends Activity {	private EditText et_url;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		et_url = (EditText) findViewById(R.id.et_url);	}	public void startUplode(View view) {		// 获取上传文件的地址		String filePath = et_url.getText().toString().trim();		// 创建出文件对象		File file = new File(filePath);		// 定义上传的server地址		String path = "http://172.22.64.193:8080/0001AndroidWebService/UplodeFileServlet";		// 推断文件的大小,及是否存在		if (file.exists() && file.length() > 0) {			// 使用开源框架,			//			AsyncHttpClient client = new AsyncHttpClient();			// 上传的參数			RequestParams params = new RequestParams();			try {				// 加入上传的数据				params.put("file", file);			} catch (FileNotFoundException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} // Upload a File				// 发送上传的消息,..并处理结果			client.post(path, params, new AsyncHttpResponseHandler() {				@Override				public void onSuccess(int statusCode, Header[] headers,						byte[] responseBody) {					System.out.println("==========" + statusCode);					for (int i = 0; i < headers.length; i++) {						System.out.println("&&&&&&" + headers[i]);					}					System.out.println("********" + new String(responseBody));				}				@Override				public void onFailure(int statusCode, Header[] headers,						byte[] responseBody, Throwable error) {					System.out.println("==========" + statusCode);					for (int i = 0; i < headers.length; i++) {						System.out.println("&&&&&&" + headers[i]);					}					System.out.println("********" + new String(responseBody));					System.out.println("--------" + error);				}			});		}	}}
编写前提是将框架代码已经导入到项目中

框架代码下载

版权声明:本文博主原创文章,博客,未经同意不得转载。

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4891234.html,如需转载请自行联系原作者

你可能感兴趣的文章
MyBatis学习(三)、动态SQL语句
查看>>
PLSQL:[1]plsql中文乱码,显示问号
查看>>
将十进制转成十六进制
查看>>
【题目】英文字符进行频率的统计,直方图输出
查看>>
Ztree手风琴效果(第三版)
查看>>
「坐上时光机,查找编译压缩后的文件最初的样子」gulp-sourcemaps 使用说明
查看>>
java 泛型中 T、E ... 和 问号(通配符)的区别
查看>>
MyEclipse使用总结——MyEclipse去除网上复制下来的来代码带有的行号
查看>>
java service wrapper日志参数设置及优化
查看>>
android build.prop详解
查看>>
Spring aop 切面编程
查看>>
C3P0连接池使用教程
查看>>
数据结构——红黑树
查看>>
高通平台MSM8916LCM模块移植(一)-bootloader部分【转】
查看>>
oracle表空间不足相关问题解决办法
查看>>
CentOS-7 在windows server 2012下的虚拟机安装教程
查看>>
函数调用过程栈帧变化详解
查看>>
Android项目实战(三十二):圆角对话框Dialog
查看>>
Word或Excel里画柱状图和折线图组合体
查看>>
C# CRC16 查表法
查看>>