Autore Topic: Connessione FTP Android  (Letto 702 volte)

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Connessione FTP Android
« il: 08 Settembre 2014, 17:25:40 CEST »
0
Ciao ragazzi, sto provando a fare questa cosa:
Creo un'applicazione che al click di un bottone si connetta ad un server FTP Solo che quando provo sul telefono mi dice l'applicazione si è bloccata in modo anomalo.

Questo è il codice che sto provando
Codice (Java): [Seleziona]
public void connessione(View v) {
        FTPClient client = new FTPClient();

        try {
            client.connect(InetAddress.getByName("link al server ftp"));
            client.login("nomeutente", "password");
            //System.out.println("status :: " + client.getStatus());
            TextView text1 = (TextView) findViewById(R.id.textView);
            text1.setText("CONNESSO AL SERVER");
            client.logout();
            //System.out.println("status :: " + client.getStatus());
            text1.setText("DISCONNESSO DAL SERVER");
            // le possibili modalità di trasferimento sono tre: ASCII_FILE_TYPE, BINARY_FILE_TYPE, EBCDIC_FILE_TYPE
            client.setFileType(FTP.BINARY_FILE_TYPE);
            client.enterLocalPassiveMode();
        } catch (IOException e) {
            System.out.println(e.getMessage());
            TextView text1 = (TextView) findViewById(R.id.textView);
            text1.setText("IMPOSSIBILE CONNETTERSI AL SERVER");
        }

Premetto che ho importato la libreria commons-net-3.3
E che l'evento connessione viene richiamato dal click di un bottone.

Dove sbaglio?

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Connessione FTP Android
« Risposta #1 il: 08 Settembre 2014, 18:10:28 CEST »
0
Metti il log qui sul forum. Inoltre inizializza la textview fuori da tutto. Inoltre fare set text e poi dopo il logout rifarlo non ha senso. Probabilmente non riesci a leggere entrambe gli stati

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:Connessione FTP Android
« Risposta #2 il: 08 Settembre 2014, 18:21:44 CEST »
0
Non riesco a visualizzare il log, non so perchè.
Appena installa l'applicazione sul telefono dal debug di android studio mi da l'applicazione si è bloccata in modo anomalo.

Su android studio non mi fa visualizzare nulla sul log cat :( cosa potrebbe essere?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Connessione FTP Android
« Risposta #3 il: 08 Settembre 2014, 18:32:12 CEST »
0
Vado con un classico: hai creato un thread o asynctask dedicato per la connessione FTP?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:Connessione FTP Android
« Risposta #4 il: 08 Settembre 2014, 18:36:28 CEST »
0
Ecco il log, sono riuscito ad averlo chiudendo e riaprendo android studio...
Questo è cio che appare dopo che l'applicazione si blocca in modo anomalo:
Scusa l'ignoranza ma è da poco che mi sono affacciato in questo mondo...

09-08 18:31:05.237  22153-22153/main.ftpconnection E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{main.ftpconnection/main.ftpconnection.Main}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2277)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
            at android.app.ActivityThread.access$600(ActivityThread.java:165)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:194)
            at android.app.ActivityThread.main(ActivityThread.java:5391)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at android.app.Activity.findViewById(Activity.java:1852)
            at main.ftpconnection.Main.<init>(Main.java:45)
            at java.lang.Class.newInstanceImpl(Native Method)
            at java.lang.Class.newInstance(Class.java:1319)
            at android.app.Instrumentation.newActivity(Instrumentation.java:1119)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
            at android.app.ActivityThread.access$600(ActivityThread.java:165)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
            at android.os.Handler.dispatchMessage(Handler.java:107)
            at android.os.Looper.loop(Looper.java:194)
            at android.app.ActivityThread.main(ActivityThread.java:5391)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
            at dalvik.system.NativeStart.main(Native Method)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Connessione FTP Android
« Risposta #5 il: 08 Settembre 2014, 19:35:19 CEST »
0
Non so. Se non sbaglio ammesso che sia una libreria valida dovrebbe implementare un thread separato già di suo...o no?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Connessione FTP Android
« Risposta #6 il: 08 Settembre 2014, 20:37:18 CEST »
0
Non so. Se non sbaglio ammesso che sia una libreria valida dovrebbe implementare un thread separato già di suo...o no?

E' possibile, ma non conosco quella libreria, quindi chiedo.  :-P

Citazione
Caused by: java.lang.NullPointerException
            at android.app.Activity.findViewById(Activity.java:1852)
            at main.ftpconnection.Main.<init>(Main.java:45)

Pare che il problema sia un NullPointerException nel fare un findViewById.

Ti dicono niente quei file java e quei numeri di riga?

NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:Connessione FTP Android
« Risposta #7 il: 08 Settembre 2014, 22:27:10 CEST »
0
sarebbe la libreria apache, che da quanto so dovrebbe avere tutto il necessario per interagire sui server FTP, per quanto riguarda il problema su un findbyid non saprei.. L'unica cosa che usa findbyid è la textview...

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:Connessione FTP Android
« Risposta #8 il: 09 Settembre 2014, 23:15:32 CEST »
0
Scusate il doppio post...

Ho provato a fare uso della libreria ftp4j
ftp4j - a pure Java FTP client library

Ed ho provato a creare questo void qui
Codice (Java): [Seleziona]
public void connessione (View v){
        FTPClient client = new FTPClient();
        TextView text = (TextView)findViewById(R.id.textView);

       try{
           client.connect("serverftp",21);
           client.login("username", "password");
           text.setText("Connesso a server FTP");

           }catch (Exception e){
        text.setText("Eccezione: " + e.getMessage());
       }
    }

E quando clicco il bottone mi viene l'eccezzione che dice...
Eccezione: null

ragazzi come posso fare sto impazzendo con questa connessione FTP.
Vi prego aiutatemi.

Questo è il link alla guida della libreria:
ftp4j - Manual

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:Connessione FTP Android
« Risposta #9 il: 09 Settembre 2014, 23:58:53 CEST »
0
Domanda (forse) banale: sicuro che la textview sia trovata correttamente nel layout che stai usando? Magari il nullpointer si riferisce a quello ...

Offline shanedouglas

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
Re:Connessione FTP Android
« Risposta #10 il: 10 Settembre 2014, 00:54:32 CEST »
0
Si la textview la trova, infatti è proprio li che appare scritto

Eccezione: null

Offline tonno16

  • Utente storico
  • *****
  • Post: 1228
  • Respect: +59
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Connessione FTP Android
« Risposta #11 il: 10 Settembre 2014, 01:33:52 CEST »
0
Fai e.toString () che almeno hai un log intero