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();
}
}
}
Вам нужно инициализировать вашу переменную usenet
, просто используя NTTP usenet
ее вызванное объявление переменной. Он просто объявляет переменную для ввода NTTP
и имеет ссылку на ничего, что обычно определяется как null
, поэтому NullPointerException
.
Вам может потребоваться вместо NTTPClient
, поэтому добавьте это в свой код
NTTPClient usenet = new NTTPClient();
Это инициализирует переменную usenet
до NTTPClient
.
вы не инициализировали поле "usenet", поэтому вы получаете исключение NullPointerException.
"NNTP usenet;" эквивалентно "NNTP usenet = null;".
LogCat
для отладки вашей программы? LogCat даст довольно подробное описание того, где произошел сбой. А если вы используете LogCat, какой была трассировка стека?