org.apache.commons.net.nntp сбой Android

1

Hay Guy, я использую org.apache.commons.net.nntp для подключения к nntp-серверу, однако запуск простого nntp.connect(хоста, порта) приводит к сбою андроида.

У кого-нибудь есть идеи? Как пакет java работает с Android прямо из коробки? или они нуждаются в редактировании?

Спасибо

import org.apache.commons.net.nntp.*;

public class newsdroid extends Activity {
    NNTP usenet; /** Called when the activity is first created. */

    @Override public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try {
            usenet.connect("ssl-eu.astraweb.com", 563);
        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
  • 1
    Вы пытались использовать LogCat для отладки вашей программы? LogCat даст довольно подробное описание того, где произошел сбой. А если вы используете LogCat, какой была трассировка стека?
  • 0
    Это говорит "java.lang.NullPointerException в com.example.use.use.onCreate (use.java:19)
Показать ещё 2 комментария
Теги:

2 ответа

2
Лучший ответ

Вам нужно инициализировать вашу переменную usenet, просто используя NTTP usenet ее вызванное объявление переменной. Он просто объявляет переменную для ввода NTTP и имеет ссылку на ничего, что обычно определяется как null, поэтому NullPointerException.

Вам может потребоваться вместо NTTPClient, поэтому добавьте это в свой код

NTTPClient usenet = new NTTPClient();

Это инициализирует переменную usenet до NTTPClient.

2

вы не инициализировали поле "usenet", поэтому вы получаете исключение NullPointerException.

"NNTP usenet;" эквивалентно "NNTP usenet = null;".

  • 0
    Как мне его инициализировать? я думал, что положить usenet.connect ("ssl-eu.astraweb.com", 563); будет делать это?
  • 0
    это будет что-то вроде: NTTP usenet = new NTTP (); документация для этого класса, которую вы можете прочитать в Интернете, предполагает, что вы, вероятно, захотите использовать NNTPClient, но принцип тот же. вам, вероятно, нужно прочитать вводную книгу по Java, в частности, немного о разнице между переменными и экземплярами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню