powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Ошибки с org.apache.commons.net.ftp в Android Studio
15 сообщений из 15, страница 1 из 1
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485057
В проект в Android Studio добавил библиотеку common-net-3.6.jar

По нажатию на кнопку должно происходить подключение к FTP
(взял распространенный пример в сети)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import org.apache.commons.net.ftp.*;
import java.util.*;
import java.text.*;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class MainAct extends AppCompatActivity {

    private TextView Label1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act_main);
        Label1 = (TextView)findViewById(R.id.vLabel1);
    }

    public static void testConnect(String srvname, String lgn, String pswd) //throws FileNotFoundException
    {
        FTPClient far2 = new FTPClient();
        //FileInputStream fis = new FileInputStream("cache/sxms.php");
        //String fs = "/sxms.php"; // адрес файла на сервере
        try {
            far2.connect(srvname);
            far2.enterLocalPassiveMode();
            far2.login(lgn, pswd);
            //far2.storeFile(fs, fis);
            far2.logout();
            far2.disconnect();
        } catch (IOException ex) { System.err.println(ex); }
    }

    public void onClick(View view) {
        Date Now = new Date();
        SimpleDateFormat formatForDateNow = new SimpleDateFormat("dd.mm.yyyy hh:mm:ss");
        Label1.setText("(проверка "+ formatForDateNow.format(Now)+" )");

        testConnect( "testserver.ru", "tst", "s9w@j7*n" );
    }

}



Компилируется, но при выполнении, (что на виртуальной машине, что в телефоне) программа при нажатии на целевую кнопку закрывается с сообщением "Приложение {имя} было остановлено".

Не могу понять, что не так с этими библиотеками.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485067
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!В проект в Android Studio добавил библиотеку common-net-3.6.jar
На сайте есть профильный форум
http://www.sql.ru/forum/android

Господин Уэф!Не могу понять, что не так с этими библиотеками.
Android не является реализацией Java Standard Edition.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485074
Т.е. тему туда переносить?
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485080
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!"Приложение {имя} было остановлено".
В логах андроида смотри конкретную ошибку.
2. Обычно библиотеки просто прописывают в gradle файле.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485081
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!Т.е. тему туда переносить?
внизу кнопка - просьба модератору. Или продублируй там, только и всего.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485238
Petro123В логах андроида смотри конкретную ошибку.
Я не нашел эти логи, можете подсказать где хранятся?
2. Обычно библиотеки просто прописывают в gradle файле.[/quot]
Это про что? Про способ подключения библиотек апача? Разве имеет значение то как они подключены? Я их подключил через интерфейс студии. После этого при написании import контекстная подсказка показывала как саму библиотеку так и разделы в ней.
Я это расценил как успешное подключение, разве не так?
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485252
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!,
В студии вкладка есть внизу в которой логи бегут при запуске. Неожиданно?
2. Я вам сказал как проще чтобы самому ничего не скачивать. Если работает. то и ладно.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485269
Petro123,

Логи не бегут, загрузка в виртуальный Android и на смартфон происходит без проблем.
ПРограмма запускается, и схлопывается только в обработчике нажатия кнопки.
Но вот что обнаружил в Android Monitor
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
--------- beginning of crash
07-09 13:28:20.448 2595-2595/com.example.testuser.nr_switcher E/AndroidRuntime: FATAL EXCEPTION: main
                                                                               Process: com.example.testuser.nr_switcher, PID: 2595
                                                                               java.lang.IllegalStateException: Could not execute method for android:onClick
                                                                                   at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293)
                                                                                   at android.view.View.performClick(View.java:4780)
                                                                                   at android.view.View$PerformClick.run(View.java:19866)
                                                                                   at android.os.Handler.handleCallback(Handler.java:739)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                   at android.os.Looper.loop(Looper.java:135)
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                                                Caused by: java.lang.reflect.InvocationTargetException
                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                   at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
                                                                                   at android.view.View.performClick(View.java:4780) 
                                                                                   at android.view.View$PerformClick.run(View.java:19866) 
                                                                                   at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                   at android.os.Looper.loop(Looper.java:135) 
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
                                                                                Caused by: android.os.NetworkOnMainThreadException
                                                                                   at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
                                                                                   at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
                                                                                   at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
                                                                                   at java.net.InetAddress.getByName(InetAddress.java:305)
                                                                                   at org.apache.commons.net.SocketClient.connect(SocketClient.java:202)
                                                                                   at org.apache.commons.net.SocketClient.connect(SocketClient.java:306)
                                                                                   at com.example.testuser.nr_switcher.MainAct.testConnect(MainAct.java:35)
                                                                                   at com.example.testuser.nr_switcher.MainAct.onClick(MainAct.java:53)
                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                   at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
                                                                                   at android.view.View.performClick(View.java:4780) 
                                                                                   at android.view.View$PerformClick.run(View.java:19866) 
                                                                                   at android.os.Handler.handleCallback(Handler.java:739) 
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                                                   at android.os.Looper.loop(Looper.java:135) 
                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 


Только вот, что тут можно увидеть?
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485275
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!,
Теперь чтобы узнать, влияет ли FTP на крах приложения - закомментировать в клике весь код и вывести в лог "Бла бла бла тест".
5 минут времени и скриншот сюда.
Ещё можете пошаговую отладку врубить. Обычные инструменты прогера - лог и пошаговая.

Модератор: Тема перенесена из форума "Java".
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485323
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут и ежу понятно, что ТС лезет в сеть из основного потока.
Андроид этого не любит.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485324
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanДа тут и ежу понятно, что ТС лезет в сеть из основного потока.
Андроид этого не любит.
может быть.
Я просто по логам навскидку не увидел ответа.
А учится автору логировать и банально тестить свой код не помешает.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485344
Petro123Господин Уэф!,
Теперь чтобы узнать, влияет ли FTP на крах приложения - закомментировать в клике весь код и вывести в лог "Бла бла бла тест".

Это первым делом проверено "Бла бла тест" нормально выводится.
Т.е. дело именно в ftp

авторЕщё можете пошаговую отладку врубить. Обычные инструменты прогера - лог и пошаговая.
Я чел старый, программировать учился еще на бумаге и наловчился на привычных инструментах обходиться без отладчиков.
Android Studio в глаза вижу с пятницы. Подскажете что и как включить?
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485346
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!,

я ведь уже указал причину: все обращения к сети должны делаться из доп.потока.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485444
wadmanя ведь уже указал причину: все обращения к сети должны делаться из доп.потока.
Спасибо, гуглю, но пока не нашел понятных примеров.
...
Рейтинг: 0 / 0
Ошибки с org.apache.commons.net.ftp в Android Studio
    #39485486
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин Уэф!wadmanя ведь уже указал причину: все обращения к сети должны делаться из доп.потока.
Спасибо, гуглю, но пока не нашел понятных примеров.
https://developer.android.com/training/basics/network-ops/connecting.html

Либо использовать готовые решения, как тут:
http://androidexample.com/FTP_File_Upload_From_Sdcard_to_server/index.php?view=article_discription&aid=98
http://www.sauronsoftware.it/projects/ftp4j/manual.php
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Ошибки с org.apache.commons.net.ftp в Android Studio
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]