Hallo Xcreen und jogimuc,
ich habe heute den Sub-Thread implementiert und jetzt funktioniert die Übertragung per FTP.
Vielen Dank nochmals für Eure Hinweise. Das hat geholfen!!
Hallo Xcreen und jogimuc,
ich habe heute den Sub-Thread implementiert und jetzt funktioniert die Übertragung per FTP.
Vielen Dank nochmals für Eure Hinweise. Das hat geholfen!!
Vielen Dank für Eure Anregungen. Die direkte Eigabe der IP-Adresse habe ich auch schon probiert. Gleiches Fehlerbild.
Mit dem Starten der Routine aus einem weiteren Thread bin ich noch nicht vertraut und muss erst mal nachlesen wie ich das umsetzen kann. Probiere das aber bald aus und melde mich dann wieder.
Vorerst herzlichen Dank!!
Hi Xceen,
logCat siehe Anhang. Wie kann ich die anderen Exceptions sinnvoll abfangen. Bitte kurzes Codebeispiel.
Die Library habe ich unter FTPuploadDemo3/apps/libs gespeichert und mit <rechteMaus>/Add as library .... eingebunden . War das so richtig?
Grüße
Hallo miteinander,
ich bin auf der Suche nach einer funktionierenenden Implementierung für einen Dateiupload via FTP innerhalb Android Studio.
Meine jetzige Implementierung läuft auf dem PC unter Eclipse ohne Probleme. Portiere ich die Routine für den Datenversand dann in Android Studio läuft der Debugger nur bis zum ftpClient.connect(server, port);
danach springt er sofort zum finally-Part und tut eigentlich nichts.
Woran könnte der Fehler liegen?
Gibt es funktionierende Snippets?
Vielen Dank für Eure Antworten! Matthias
Source-Code:
===================================================================================
package com.example.ftpuploaddemo3;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SendFilePerFTP();
}
private void SendFilePerFTP() {
String server = "servername";
int port = 21;
String user = "username";
String pass = "password";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
File firstLocalFile = new File("/storage/emulated/0/LastGPS.json");
String firstRemoteFile = "Neu.json";
InputStream inputStream = new FileInputStream(firstLocalFile);
System.out.println("Start uploading first file");
boolean done = ftpClient.storeFile(firstRemoteFile, inputStream);
inputStream.close();
if (done) {
System.out.println("The first file is uploaded successfully.");
}
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
=================================================================================
Manifest File:
=================================================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ftpuploaddemo3">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE "/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>