안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
안드로이드 입문자입니다.
리스트뷰를 이용해서 FTP 서버내 목록을 출력하는 프로그램을 만들고 있는데요
빨간줄 부분에서 블락상태가 걸려버리네요 물론, 빨간줄을 삭제하면 실행에는 무리가 없구요
대체 왜그런건지.. 2틀동안 고민하는중인데 답이 안나와서 이렇게 질문드립니다.
똑똑하신 분들이 많으니 핵심을 꿰뚫는 답변을 해주실것이라 믿습니다.
소스코드입니다.
public class MyFancyListView01 extends ListActivity {
TextView tv;
String [] items;
String fileName [];
String Server;
String ID;
String PassWord;
//String [] items={"Android","iPhone","UI","Java","SDK","Adapter","List"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Server="325.123";
ID="lHd";
PassWord="e124o1";
FTP();
//이부분에 진입하면 블락상태로 빠져버리네요
ArrayAdapter<String>aa=new ArrayAdapter<String>(this,R.layout.row,R.id.label,items);
setListAdapter(aa);
tv=(TextView)findViewById(R.id.selection);
}
public void onListItemClick(ListView l,View v,int position, long id){
tv.setText(items[position]+"클릭됨");
}
public void FTP(){
String []items=new String[10000];
String []fileName=new String[10000];
try{
FTPClient con = new FTPClient();
Log.v("HID", "Before connect");
con.connect(Server, 21);//서버접속
Log.v("HID", "connect success");
con.login(ID, PassWord);
Log.v("HID", "Login SUCCESS!!");
con.enterLocalPassiveMode(); //패시브모드로 전환합니다.
con.setFileType(con.BINARY_FILE_TYPE); //파일형식을 이진파일 형식으로 설정합니다.
con.changeWorkingDirectory("/");
FTPFile[] files=con.listFiles();
Log.v("HID", "Settings Before!!");
for(int i=0; i<(files.length)-1; i++){
fileName[i]=files[i].getName().toString();
//test.append(fileName[i]+"\n");
items[i]=fileName[i];
}
Log.v("HID", "Settings SUCCESS!!");
}catch (Exception e) //예외처리
{
e.printStackTrace();
}
}
}
TextView tv;
String [] items;
String fileName [];
String Server;
String ID;
String PassWord;
//String [] items={"Android","iPhone","UI","Java","SDK","Adapter","List"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Server="325.123";
ID="lHd";
PassWord="e124o1";
FTP();
//이부분에 진입하면 블락상태로 빠져버리네요
ArrayAdapter<String>aa=new ArrayAdapter<String>(this,R.layout.row,R.id.label,items);
setListAdapter(aa);
tv=(TextView)findViewById(R.id.selection);
}
public void onListItemClick(ListView l,View v,int position, long id){
tv.setText(items[position]+"클릭됨");
}
public void FTP(){
String []items=new String[10000];
String []fileName=new String[10000];
try{
FTPClient con = new FTPClient();
Log.v("HID", "Before connect");
con.connect(Server, 21);//서버접속
Log.v("HID", "connect success");
con.login(ID, PassWord);
Log.v("HID", "Login SUCCESS!!");
con.enterLocalPassiveMode(); //패시브모드로 전환합니다.
con.setFileType(con.BINARY_FILE_TYPE); //파일형식을 이진파일 형식으로 설정합니다.
con.changeWorkingDirectory("/");
FTPFile[] files=con.listFiles();
Log.v("HID", "Settings Before!!");
for(int i=0; i<(files.length)-1; i++){
fileName[i]=files[i].getName().toString();
//test.append(fileName[i]+"\n");
items[i]=fileName[i];
}
Log.v("HID", "Settings SUCCESS!!");
}catch (Exception e) //예외처리
{
e.printStackTrace();
}
}
}
2011.06.30 22:21:30
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Server = "325.123";
ID = "lHd";
PassWord = "e124o1";
FTP();
FtpListAdapter adapter = new FtpListAdapter(this, R.layout.row, items);
setListAdapter(adapter);
}
class FtpListAdapter extends ArrayAdapter<String>{
String item;
public FtpListAdapter(Context context, int textViewResourceId, String[] objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertiew, ViewGroup parent) {
// TODO Auto-generated method stub
item = getItem(position);
View vi = convertiew;
..............................
return vi;
}
}
무엇을 만들고자 하시는지 모르겠지만 일단 똑똑한 사람 찾으시는것보다 안드로이드 sdk설치하면 있는 ApiDemos 라도
한번 실행해 보시고 그것부터 좀 연구 해보세요 무작정 만들려고 하시지 마시구요
거기에 볼게 많습니다 책보다도 더 좋구요



