Подключение моего приложения к локальной сети по протоколу smb - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь подключить приложение Android к локальной сети моей компании (Windows) по протоколу smb.Проблема в том, что я новичок в этом вопросе, и что-то мне не хватает.Цель - загрузить файл AREQA.txt из сети на устройство.Однако я даже не могу проверить, может ли код отследить местоположение файла, потому что приложение вылетает, когда я компилирую его на устройство (оно загружается нормально, но вылетает, когда я вызываю процедуру DownLoadF001).Вот код:

    public void DownLoadF001(View v) {
        jcifs.Config.registerSmbURLHandler();
        String user;
        String password;
        String filename;
        File localFile;
        SmbFile path = null;
        try {
            NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null,"@@@@@@", "********");
            path = new SmbFile("smb:\\192.168.1.11/.../AREQA.txt", auth);
            try {
                if(path.exists()){
                    Toast.makeText(getApplicationContext(), "Sucesso!", Toast.LENGTH_LONG).show();
                    }
            } catch (Exception e1) {
                Toast.makeText(getApplicationContext(), e1.toString(), Toast.LENGTH_LONG).show();
            }
        } catch (MalformedURLException e2) {
            Toast.makeText(getApplicationContext(), e2.toString(), Toast.LENGTH_LONG).show();
        }
    }

Я уже пытался удалить внутреннюю try из основной (со всем связанным кодом), и приложение перестало падать.Однако без него я не вижу, работает ли соединение.

РЕДАКТИРОВАТЬ: мне удалось поймать ошибку (Exception e1):

java.lang.NullPointerException: Attempt to invoke virtual method int java.lang.String.length()' on a null object reference.Любые идеи, чтобы решить это?

Кроме того, как указал @greenapps, я вызываю эту процедуру с кнопки .xml методом onClick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...