Я новичок в платформе Android, и у меня возникла серьезная проблема. Я хочу получать электронную почту из Gmail, и поэтому я создал класс, который делает это. Однако, когда я запускаю свой класс в Android NetworkOnMainThreadException. Итак, я создал новую тему с новым Runnable, как показано ниже:
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
FetchEmails e = new FetchEmails();
}
}).start();
}
Это работало нормально, но тогда я не могу получить доступ к e.getMessage, чтобы получить реальное письмо. Имея это в виду, я реализовал Runnable для моего класса FetchEMails и сделал весь код выборки в run (), который я переопределил. Последний фрагмент кода в run () устанавливает переменную в значение true. Затем в своем классе Activity я создал экземпляр класса и сделал это: new Thread(e).start();
. Ниже у меня есть цикл while, чтобы проверить, закончил ли класс до конца метода run () (проверяя, является ли переменная true). Итак, теперь я создал свой новый theard, который не мешает пользовательскому интерфейсу, и когда код закончен, я хочу получить сообщение. Но кажется, что я все еще получаю ошибку NetworkOnMainThreadException. Любая помощь с этим приветствуется. Спасибо.