Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Android [игнор отключен] [закрыт для гостей] / Ошибки с org.apache.commons.net.ftp в Android Studio / 15 сообщений из 15, страница 1 из 1
08.07.2017, 13:30
    #39485057
Ошибки с org.apache.commons.net.ftp в Android Studio
В проект в 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
08.07.2017, 14:05
    #39485067
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!В проект в Android Studio добавил библиотеку common-net-3.6.jar
На сайте есть профильный форум
http://www.sql.ru/forum/android

Господин Уэф!Не могу понять, что не так с этими библиотеками.
Android не является реализацией Java Standard Edition.
...
Рейтинг: 0 / 0
08.07.2017, 14:40
    #39485074
Ошибки с org.apache.commons.net.ftp в Android Studio
Т.е. тему туда переносить?
...
Рейтинг: 0 / 0
08.07.2017, 14:50
    #39485080
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!"Приложение {имя} было остановлено".
В логах андроида смотри конкретную ошибку.
2. Обычно библиотеки просто прописывают в gradle файле.
...
Рейтинг: 0 / 0
08.07.2017, 14:51
    #39485081
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!Т.е. тему туда переносить?
внизу кнопка - просьба модератору. Или продублируй там, только и всего.
...
Рейтинг: 0 / 0
09.07.2017, 06:56
    #39485238
Ошибки с org.apache.commons.net.ftp в Android Studio
Petro123В логах андроида смотри конкретную ошибку.
Я не нашел эти логи, можете подсказать где хранятся?
2. Обычно библиотеки просто прописывают в gradle файле.[/quot]
Это про что? Про способ подключения библиотек апача? Разве имеет значение то как они подключены? Я их подключил через интерфейс студии. После этого при написании import контекстная подсказка показывала как саму библиотеку так и разделы в ней.
Я это расценил как успешное подключение, разве не так?
...
Рейтинг: 0 / 0
09.07.2017, 10:19
    #39485252
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!,
В студии вкладка есть внизу в которой логи бегут при запуске. Неожиданно?
2. Я вам сказал как проще чтобы самому ничего не скачивать. Если работает. то и ладно.
...
Рейтинг: 0 / 0
09.07.2017, 11:35
    #39485269
Ошибки с org.apache.commons.net.ftp в Android Studio
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
09.07.2017, 11:56
    #39485275
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!,
Теперь чтобы узнать, влияет ли FTP на крах приложения - закомментировать в клике весь код и вывести в лог "Бла бла бла тест".
5 минут времени и скриншот сюда.
Ещё можете пошаговую отладку врубить. Обычные инструменты прогера - лог и пошаговая.

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

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

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

я ведь уже указал причину: все обращения к сети должны делаться из доп.потока.
...
Рейтинг: 0 / 0
10.07.2017, 07:16
    #39485444
Ошибки с org.apache.commons.net.ftp в Android Studio
wadmanя ведь уже указал причину: все обращения к сети должны делаться из доп.потока.
Спасибо, гуглю, но пока не нашел понятных примеров.
...
Рейтинг: 0 / 0
10.07.2017, 09:15
    #39485486
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибки с org.apache.commons.net.ftp в Android Studio
Господин Уэф!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
Форумы / Android [игнор отключен] [закрыт для гостей] / Ошибки с org.apache.commons.net.ftp в Android Studio / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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