public class DownloadActivity extends ListActivity{
private Thread thread; //스레드
private Handler handler= new Handler(); //핸들러
private TextView text1; //텍스트뷰
private ProgressDialog dialog; //다이얼로그
private int count=0; //수행횟수
private int repeat=0; //반복횟수
private long datasize=0; //데이터사이즈
private double []DownResult=new double[1000]; //결과값을 저장할 배열설정(최대 1000번의 반복수행가능)
private boolean flag=false; //flag
TextView tv;
String [] items;
String fileName [];
String Server;
String ID;
String PassWord;
private List<String> item = null;//추가된 부분
private List<String> path = null;
private TextView myPath;
FTPClient con;
FTPFile[] files;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.download);
Intent intent=getIntent(); //인텐트를 통해 각각의 값들을 받아옴
String Server =intent.getStringExtra("data_ServerAddress"); //서버이름
String ID =intent.getStringExtra("data_ID"); //ID
String PassWord =intent.getStringExtra("data_PassWord"); //패스워드
String TimeOut =intent.getStringExtra("data_TimeOut"); //타임아웃
//String []items=new String[10000];
//ArrayList<String> al = new ArrayList<String>();
//ArrayList<String> items = new ArrayList<String>();
try{
con = new FTPClient();
con.connect("ftp.imrc.kist.re.kr", 21);
con.login("gre_kist", "gre1003");
con.enterLocalPassiveMode();
con.setFileType(con.BINARY_FILE_TYPE);
Log.v("HES","End Connect");
}catch(Exception e){
e.printStackTrace();
}
Log.v("HES","접속완료");
getDir("/");
}
private void getDir(String dirPath){
try{
con.changeWorkingDirectory(dirPath);
files=con.listFiles();
item = new ArrayList<String>();
path = new ArrayList<String>();
FTPFile[] files = con.listFiles();
if(!dirPath.equals("/")){ //루트 디렉토리가 아닐 경우
//item.add("/");
path.add("/");
//item.add("../");
}
Log.v("HES","Test1");
for(int i=0; i < files.length; i++){
//File file = files[i];
path.add(con.getStatus(dirPath).toString());
String fileSize;
if(files[i].getSize()>=1000000)
fileSize=String.format("%.1f",Double.valueOf(((double)(files[i].getSize())/((double)(1048576))) ))+"MB";
else if(files[i].getSize()>=1000)
fileSize=String.format("%.1f",Double.valueOf(((double)files[i].getSize())/((double)(1024))))+"KB";
else
fileSize=Long.toString(files[i].getSize())+"bytes";
if(files[i].isDirectory())
{
item.add(files[i].getName() + "/");
}
else
item.add(files[i].getName().toString()+fileSize);
}
Log.v("HES","Test2");
ArrayAdapter<String>aa=new ArrayAdapter<String>(DownloadActivity.this,R.layout.downloadrow,R.id.label,items);
Log.v("HES","Test3");
setListAdapter(aa);
tv=(TextView)findViewById(R.id.selection);
}catch(Exception e)
{
e.printStackTrace();
}
}
public void onListItemClick(ListView l,View v,int position, long id){
//tv.setText(items[position]+"클릭됨");
if (files[position].isDirectory()){//폴더일경우
if(files[position].getSize()!=0){
getDir("/"+files[position].getName().toString());
}
else{
new AlertDialog.Builder(this).setIcon(R.drawable.icon).setTitle("[" + files[position].getName() + "] folder can't be read!")
.setPositiveButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
}
}).show();
}
}
else{
new AlertDialog.Builder(this)
.setIcon(R.drawable.icon)
.setTitle("[" + files[position].getName() + "]")
.setPositiveButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
}
}).show();
}
}
}
빨간줄 명령어 하나가 안먹히네여 ;;
대체 왜그런거죠?




로그를 보면 어떤 형상이 나타났는지 알수있을거같아요