Всем доброго времени суток. Я пишу приложение, в котором нужно подключиться к FTP серверу. В listview должны выводиться названия файлов, лежащих на этом сервере. Проблема в том, что файлы с сервера не выводятся(хотя возможно даже не происходит подключения к серверу), при этом в логах не появляется никаких ошибок. Я только учусь и не могу разобраться, в чем я допустил ошибку. Посмотрите мой код, может вы поймете в чем проблема:
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
public class ftpClient extends Fragment {
FTPClient ftpClient;
Button button;
WifiManager wifiManager;
EditText textIp,textPort,textPassword,textLogin;
TextView printDir;
ListView listFolder;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.fragment_ftpclient, container, false);
textIp =(EditText)rootView.findViewById(R.id.editText5);
textPort =(EditText)rootView.findViewById(R.id.editText6);
textPassword =(EditText)rootView.findViewById(R.id.editText7);
textLogin =(EditText)rootView.findViewById(R.id.editText8);
listFolder = (ListView) rootView.findViewById(R.id.listView);
printDir = (TextView) rootView.findViewById(R.id.textView2);
wifiManager = (WifiManager) getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE);
button=(Button) rootView.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
programTask prTask = new programTask(textIp.getText().toString(), Integer.parseInt(textPort.getText().toString()), textLogin.getText().toString(), textPassword.getText().toString());
prTask.execute();
}catch(Exception e){
e.printStackTrace();
}
}
});
return rootView;
}
private class programTask extends AsyncTask<String, ArrayList<String>, Void> {
ArrayAdapter<String> adapter;
private String ip,login,pass;
private int port;
programTask(String ip, int port, String login,String pass){
this.ip=ip;
this.port=port;
this.login=login;
this.pass=pass;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(String... urls) {
try{
ftpClient = new FTPClient();
ftpClient.connect(InetAddress.getByName(ip),port);
ftpClient.login(login, pass);
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
ArrayList<String> listItems = new ArrayList<String>();
FTPFile[] ftpFiles = ftpClient.listFiles();
for (FTPFile file : ftpFiles) {
listItems.add(file.getName());
}
publishProgress(listItems);
}catch (IOException e){
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(ArrayList<String>... listitem) {
super.onProgressUpdate(listitem);
adapter=new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, listitem[1]);
listFolder.setAdapter(adapter);
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
}
}
}
Собственно подключение и вывод файлов у меня в AsyncTask
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу понять как сделать выделенный элемент с перетеканием цвета из красного в черныйНужно ли использовать background-image или можно обойтись...
Как в jquery в DataTable изменять стили и центрирование каких-либо элементов? Например, мне нужно уменьшить шрифт текста и размер окна выпадашки...