/**
* ftp上传带进度条
* @author Administrator
*
*/
private int fileCount=0;
private int mTotalSize=0;
private FTPClient myFtp;
int i=0;
private final int PROGRESS_DIALOG = 1;
private ProgressDialog progressDialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button) findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Send s=new Send();
s.start();
}
});
Button btn2=(Button) findViewById(R.id.button1);
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
int what = msg.what;
Integer progress = (Integer) msg.obj;
switch (what) {
case 1:
System.out.println("progress="+progress);
progressDialog.incrementProgressBy(progress);
break;
case 2:
showDialog(PROGRESS_DIALOG);
break;
case 3:
progressDialog.dismiss();
try {
myFtp.disconnect(true);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// pb.setVisibility(View.GONE);
// progressDialog.setTitle("正在上传...");
break;
case 4: // aborted
// pb.setVisibility(View.GONE);
break;
case 5: // failed
// pb.setVisibility(View.GONE);
break;
}
}
};
public class Send extends Thread{
@Override
public void run() {
myFtp = new FTPClient();
try {
myFtp.connect("192.168.1.112", 21); // 连接
myFtp.login("wangpeng", "wangpeng"); // 登录
String path="/mnt/sdcard/InternshipManagement.apk";
// String path="/mnt/sdcard/ADT-18.0.0.zip"; //客户端文件路径
File file = new File(path);
fileCount=(int) file.length();
mTotalSize=fileCount;
myFtp.upload(file, listener); //上传
} catch (FTPDataTransferException e) {
e.printStackTrace();
} catch (FTPAbortedException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
e.printStackTrace();
} catch (FTPException e) {
e.printStackTrace();
}
}
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case PROGRESS_DIALOG:
// this表示该对话框是针对当前Activity的
progressDialog = new ProgressDialog(this);
// 设置最大值为100
progressDialog.setMax(mTotalSize);
// 设置进度条风格STYLE_HORIZONTAL
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("正在上传...");
progressDialog.setCancelable(false);
progressDialog.setButton("取消", new DialogInterface.OnClickListener() {
* ftp上传带进度条
* @author Administrator
*
*/
public class TesActivity extends Activity {
/** Called when the activity is first created. */private int fileCount=0;
private int mTotalSize=0;
private FTPClient myFtp;
int i=0;
private final int PROGRESS_DIALOG = 1;
private ProgressDialog progressDialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button) findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Send s=new Send();
s.start();
}
});
Button btn2=(Button) findViewById(R.id.button1);
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
}
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
int what = msg.what;
Integer progress = (Integer) msg.obj;
switch (what) {
case 1:
System.out.println("progress="+progress);
progressDialog.incrementProgressBy(progress);
break;
case 2:
showDialog(PROGRESS_DIALOG);
break;
case 3:
progressDialog.dismiss();
try {
myFtp.disconnect(true);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FTPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// pb.setVisibility(View.GONE);
// progressDialog.setTitle("正在上传...");
break;
case 4: // aborted
// pb.setVisibility(View.GONE);
break;
case 5: // failed
// pb.setVisibility(View.GONE);
break;
}
}
};
public class Send extends Thread{
@Override
public void run() {
myFtp = new FTPClient();
try {
myFtp.connect("192.168.1.112", 21); // 连接
myFtp.login("wangpeng", "wangpeng"); // 登录
String path="/mnt/sdcard/InternshipManagement.apk";
// String path="/mnt/sdcard/ADT-18.0.0.zip"; //客户端文件路径
File file = new File(path);
fileCount=(int) file.length();
mTotalSize=fileCount;
myFtp.upload(file, listener); //上传
} catch (FTPDataTransferException e) {
e.printStackTrace();
} catch (FTPAbortedException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (FTPIllegalReplyException e) {
e.printStackTrace();
} catch (FTPException e) {
e.printStackTrace();
}
}
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case PROGRESS_DIALOG:
// this表示该对话框是针对当前Activity的
progressDialog = new ProgressDialog(this);
// 设置最大值为100
progressDialog.setMax(mTotalSize);
// 设置进度条风格STYLE_HORIZONTAL
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("正在上传...");
progressDialog.setCancelable(false);
progressDialog.setButton("取消", new DialogInterface.OnClickListener() {