Komentáře k postupu „Připojení k serveru FTP“

public boolean ftpConnect(String host, String username, String password, int port)

String host - Název serveru FTP. Například analytic.vov.com

String username - Přihlášení, uživatelské jméno

String password - Heslo

int port - Celé číslo. Pro FTP = 21

mFTPClient = new FTPClient(); - Pojďme vytvořit objekt - FTP -klient

mFTPClient.connect(host, port); - Zde se připojíme k FTP serveru

Nyní musíte zkontrolovat návratový kód - bylo možné se připojit nebo ne

if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode())) {

Pokud je vše úspěšné, musíte odeslat uživatelské jméno a heslo na server FTP

boolean status = mFTPClient.login(username, password);

Zde boolean status stav připojení - bylo možné se připojit nebo ne.

Nyní musíte zadat typ souboru - binární

mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);

Nastavme režim pro FTP klienta - PassiveMode

mFTPClient.enterLocalPassiveMode();

Pokud je připojení úspěšné, napište text do okna ladicího programu

Log.d(TAG, "== FTP Connect Level ==: " + mFTPClient.getStatus().toString());

Pokud se vyskytnou chyby, napište do okna ladění aplikace Android Studio

Log.d(TAG, "== == Error: could not connect to host == ==" + host + " == e : == " + e);

A poslední řádek postupu je vrátit stav operace

return false;

Po připojení k serveru FTP bude mít váš klient FTP přístup do výchozí složky. Při procházení serveru pomocí webového prohlížeče můžete na serveru použít úplně jinou složku. Proto, když se vaše aplikace připojí k serveru FTP, musíte změnit složku na tu, kde jsou umístěny soubory s názvy index.htm nebo index.php

Chcete -li to provést, musíte spustit příkaz „změnit složku“

mFTPClient.changeWorkingDirectory(directory_path);

Tady jsou jemnosti. Pokud se podíváte na úplnou cestu k aktuální složce na serveru

workingDir = mFTPClient.printWorkingDirectory();

Log.d(TAG, workingDir.toString());

na tuto cestu musíte přidat "/" a název složky, do které se dostanete

Odpojování od serveru FTP

Servery mají obvykle malý časový limit. A sezení sami uzavírají. Je však dobrým zvykem relaci ve vaší aplikaci zavřít. 

public boolean ftpDisconnect() { try {

   mFTPClient.logout();

   mFTPClient.disconnect();

   Log.d(TAG, "== == Disconnect from ftp server == ==");

   return true;

   } catch (Exception e) {

   Log.d(TAG, "== == Error disconnecting from ftp server == ==");

}

return false;

}

Všechno je zde velmi jednoduché

Hlavním postupem je nahrát soubor na server FTP

public boolean ftpUpload(String srcFilePath, String desFileName, String desDirectory, Context context, Integer ipnumber) {

boolean status = false;

try {

mFTPClient.changeWorkingDirectory(desDirectory);

// Nahrajte soubor na server FTP

FileInputStream srcFileStream = new FileInputStream(srcFilePath);

// change working directory to the destination directory

 if (ftpChangeDirectory(desDirectory)) { //==========================================

//Naše aplikace zapíše 10 fotografií na server FTP. Poté jsou přepsány. //Generování 10 názvů souborů s obrázky //==========================================

if (nnum >= ipnumber+1) //ipnumber - počet obrázků v každé relaci

{

nnum = 0; //Začněte znovu číslovat obrázky

}

nnum = nnum + 1;

Log.d(TAG, "== File Name ==: " + "eoflameron" + nnum + ".jpg");

// Zapište si název souboru do Log.d

GenFileName = "eoflameron"+ nnum + ".jpg"; //Název souboru

//==========================================

status = mFTPClient.storeFile(GenFileName, srcFileStream);

 }

srcFileStream.close();

Log.d(TAG, "== == Upload to serever Ok == ==");

return status;

} catch (Exception e) {

e.printStackTrace();

Log.d(TAG, "== == Upload failed == ==: " + e);

}

return status;

}

Komentáře ke zdrojovému kódu

mFTPClient.changeWorkingDirectory(desDirectory);

Přejděte do požadované složky na serveru FTP (viz výše)

FileInputStream srcFileStream = new FileInputStream(srcFilePath);

Nahrajte soubor na server FTP

Aplikace Rescue PHOTO vytvoří 10 fotografií a nahraje je na server FTP. Je třeba vytvořit 10 názvů souborů

if (nnum >= ipnumber+1)

  {

      nnum = 0;

  }

nnum = nnum + 1;

GenFileName = "eoflameron"+ nnum + ".jpg";

Názvy souborů budou následující

eoflameron1.jpg

...

eoflameron10.jpg

Zde nahrajeme na FTP server soubor s novým názvem

status = mFTPClient.storeFile(GenFileName, srcFileStream);

srcFileStream.close(); - Odpojte se od serveru FTP

Log.d(TAG, "== == Upload to serever Ok == ==");

return status;

Zde je zpracování chyb, pokud soubor není načten

} catch (Exception e) {

e.printStackTrace();

Log.d(TAG, "== == Upload failed == ==: " + e);

}

return status;

Práci s FTP na Androidu Java lze využít v mnoha aplikacích. Například pro uložení videa nebo fotografie na server. Jako server FTP můžete používat webové servery (placené nebo bezplatné) s přístupem na FTP.

Současně si můžete prohlížet obsah na jakémkoli zařízení, v jakémkoli webovém prohlížeči a odkudkoli na světě.

Síťový protokol FTP není bezpečný. Přihlašovací jména, hesla a obsah nejsou šifrována.

Je žádoucí používat protokol SFTP, ale nemusí být podporován mnoha webovými servery.

Další možností je stáhnout obsah přes SSH. Tento síťový protokol ale také nepodporují všechny servery (přístup pro klienty není vždy otevřený) a programování je mnohem obtížnější.

 

Když je aplikace spuštěna v Android Studio, zprávy o práci lze zobrazit v okně ladění.

Funguje to jak při použití emulátoru, tak při připojení skutečného smartphonu.

Když používáte sledovací aplikaci, budete moci zobrazit zprávy telemetrie.

 

Promiňte. Přeloženo pomocí Google Translate

Seznam všech webových stránek SITEMAP>>

http://oflameron.com

(c) by Valery Shmelev