正文  软件开发 > 编程综合 >

Android使用开源项目Xutils实现多线程下载文件

  #2布局文件中实现UI  下载">  #3.在mainactivity中实现代码功能  package com.wzw.downloaddemo;impo...

 

 

#2布局文件中实现UI

 

 


 

#3.在mainactivity中实现代码功能

 

 

package com.wzw.downloaddemo;


import java.io.File;

import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.HttpHandler;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

	private EditText etPath;
	private TextView tvInfo;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		etPath=(EditText) findViewById(R.id.tv_path);
		tvInfo=(TextView) findViewById(R.id.tv_info);
		
		
	}
	public void download(View v){
		String path =etPath.getText().toString();
		HttpUtils http = new HttpUtils();
		http.download(path, /sdcard/360.exe, true, true, new RequestCallBack() {

		@Override
	        public void onStart() {
	            tvInfo.setText(正在连接...);
	        }
			
			 @Override
		    public void onLoading(long total, long current, boolean isUploading) {
		           tvInfo.setText(current + / + total);
			 }
			
			 @Override
		     public void onFailure(HttpException error, String msg) {
		           tvInfo.setText(msg);
		      }

			@Override
			public void onSuccess(ResponseInfo responseInfo) {
				// TODO Auto-generated method stub
				tvInfo.setText(downloaded: + responseInfo.result.getPath());
			}
		});
		
	}

}


 

用Utils的话比用传统的方式要方便的多。