"Erro: ao desconectar. " + e.getMessage()); } return false; } //Efetuar conexao com o servidor FTP public boolean Conectar(String pHost, String pUsuario, String pSenha, int pPorta) { try { mFtp = new FTPClient(); // conectando no host mFtp.connect(pHost, pPorta); //verifica se a conexao esta ok if (FTPReply.isPositiveCompletion(mFtp.getReplyCode())) { //efetua login boolean status = mFtp.login(pUsuario, pSenha); mFtp.setFileType(FTP.BINARY_FILE_TYPE); mFtp.enterLocalPassiveMode(); return status; } } catch(Exception e) { Log.e(TAG, "Erro: nao foi possivel conectar ao host " + pHost); } return false; } }Abaixo segue o arquivo TesteFTPActivity.java:package br.com.EscolaDeAndroid.FTP;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.widget.EditText;import android.widget.Toast;public class TesteFTPActivity extends Activity { clsFTP mClienteFTP; EditText editText; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); editText = (EditText)findViewById(R.id.editText1); String lstrArq = ""; try { mClienteFTP = new clsFTP(); //Definindo o nome do arquivo que sera gravado no SD lstrArq = "/teste2.txt"; File lArquivo = new File(Environment.getExternalStorageDirectory(), lstrArq); mClienteFTP.Conectar("ftp.seuendereco.com", "usuario", "senha", 21); //Faz o download do arquivo passando o nome dele(dentro o servidor) e local onde ele vai ser guardado mClienteFTP.Download("/nomedapasta", "teste.txt", lArquivo.toString()); //Desconecta do ftp mClienteFTP.Desconectar(); //Efetua a leitura do arquivo FileReader fileReader= new FileReader(lArquivo); BufferedReader leitor= new BufferedReader(fileReader); String linha = null; //Loop para ler e carregar o editText while((linha = leitor.readLine()) != null) { editText.append(linha); } leitor.close(); fileReader.close(); } catch (Exception e) { trace("Erro : " + e.getMessage()); } } public void toast (String msg) { Toast.makeText (getApplicationContext(), msg, Toast.LENGTH_SHORT).show (); } private void trace (String msg) { toast (msg); } }Abaixo segue o arquivo AndroidManifest.xml, onde deveremos adicionar as permissoes para acessar a internet e gravar no SD:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.EscolaDeAndroid.FTP" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".TesteFTPActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>Abaixo segue o arquivo main.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/editText1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="text" android:ems="10" > <requestFocus /> </EditText></LinearLayout>Por enquanto e isso pessoal, espero que seja util esse projeto para voces, e caso necessitem, por exemplo, enviar um arquivo via FTP, dentro da classe clsFTP.java ja possui esse e outros metodos.Desenvolvi o jogo Circus Puzzle Free ele e um quebra-cabeca e esta publicado no Android Market, agradeco a todos que baixarem, jogarem e comentarem.Desenv com qualidade!