android studio - aplikacja z połączeniem do serwera FTP

0

Cześć,
wiele lat zajmowałem się pisaniem aplikacji vb.net.
Teraz z uwagi na wymogi muszę rozpocząć nauką java i pisania aplikacji dodatkowo na androida.

Aktualne założenie jest takie żeby stworzyć aplikację na androida który wyświetla i zapisuje dane z plików .txt umieszczonych na serwerze FTP.
Siedzę nad tym już trochę i słabo to wygląda, dla mnie to tak jakbym uczył się od nowa chodzić, i potrafię powiedzieć mama, tata, da i to tyle.

No ale coś tam walczę.
W chwili obecnej jestem na etapie łączenia się z serwerem FTP.
Po walce z importem biblioteki (w końcu doszedłem do tego jak to zaimportować), próbuję uruchomić połączenie.
I dostaje takiego loga że mi się na kolana wylewa. A aplikacja porostu się wyłącza.

Ma ktoś chwilę żeby wyjaśnić co jest nie tak?

Kod jest pobrany z: https://www.codejava.net/java-se/ftp/connect-and-login-to-a-ftp-server

Operację sprawdzenia wywołuję przyciskiem.
W efekcie aplikacja się zamyka.

package com.example.ftptester;

import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FTPConnectAndLoginDemo {
    private static void showServerReply(FTPClient ftpClient) {
        String[] replies = ftpClient.getReplyStrings();
        if (replies != null && replies.length > 0) {
            for (String aReply : replies) {
                System.out.println("SERVER: " + aReply);
            }
        }
    }
    public static void main(String[] args) {
        String server = "www.yourserver.net";
        int port = 21;
        String user = "username";
        String pass = "password";
        FTPClient ftpClient = new FTPClient();
        try {
            ftpClient.connect(server, port);
            showServerReply(ftpClient);
            int replyCode = ftpClient.getReplyCode();
            if (!FTPReply.isPositiveCompletion(replyCode)) {
                System.out.println("Operation failed. Server reply code: " + replyCode);
                return;
            }
            boolean success = ftpClient.login(user, pass);
            showServerReply(ftpClient);
            if (!success) {
                System.out.println("Could not login to the server");
                return;
            } else {
                System.out.println("LOGGED IN SERVER");
            }
        } catch (IOException ex) {
            System.out.println("Oops! Something wrong happened");
            ex.printStackTrace();
        }
    }
}

dostaję coś takiego

13:30:26: Executing task 'FTPConnectAndLoginDemo.main()'...

Executing tasks: [FTPConnectAndLoginDemo.main()] in project C:\Users\dontosu\AndroidStudioProjects\FTPtester


FAILURE: Build failed with an exception.

* Where:
Initialization script 'C:\Users\dontosu\AppData\Local\Temp\FTPConnectAndLoginDemo_main__.gradle' line: 21

* What went wrong:
A problem occurred configuring project ':app'.
> Could not create task ':app:FTPConnectAndLoginDemo.main()'.
   > SourceSet with name 'main' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 549ms
13:30:27: Task execution finished 'FTPConnectAndLoginDemo.main()'.
0
  1. Kod ktory wrzuciles to nie jest mobilka
  2. Pobieranie txt z ftpa? Opisz od strony uzytkownika co chcesz osiagnac - bez jezyka programowania. Wybor ftp + txt na pierwszy rzut oka jest dosc ekscentryczny.
0

Ogólnie potrzebuję przesłać niewielkie pakiety danych zapisane w pliku .txt lub po prostu string z PC na aplikacje pod androida.
Komunikacja musi odbywać się w dwie strony, serwer FTP to jedyne co mam "pod ręką" żeby to zrealizować.
Czytałem też trochę o serwerach xmpp. Myślałem wykorzystać teoretycznie technologię jaka używają komunikatory.
Nie mam jeszcze sprecyzowanego rozwiązania do osiągnięcia efektu, czyli przesyłania stringów pomiędzy urządzeniami.
Ważne jest to że nie będą one pracowały w jednej sieci.
Komunikacja musi być realizowana przez internet = jakiś serwer.

0

Ok, znalazłem dobrą aplikację która w sumie robi to co chciałem, automatycznie synchronizuje pliki pomiędzy telefonem a serwerem FTP, robi to interwałem 5 minut, dla mnie to wystarczające.
Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1