Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Опа!!
15 / 15 / 0
Регистрация: 30.09.2009
Сообщений: 89
#1

RSS-читалка - работает на эмуляторе, не работает на реальном девайсе - Программирование Android

17.08.2011, 00:58. Просмотров 1780. Ответов 2
Метки нет (Все метки)

День добрый. Есть несложная читалка на основе вот этой вот, для парсинга используется Android SAX. Все прекрасно работает на эмуляторе, но отказывается грузиться на "живой" трубке, в логе следующее:

Код
08-16 20:34:12.758: ERROR/AndroidNews(31840): java.lang.RuntimeException: java.text.ParseException: [B]Unparseable date: "Tue, 16 Aug 2011 11:30:05 GMT00"[/B]
08-16 20:34:12.758: ERROR/AndroidNews(31840): java.lang.RuntimeException: java.lang.RuntimeException: java.text.ParseException: Unparseable date: "Tue, 16 Aug 2011 11:30:05 GMT00"
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.AndroidSaxFeedParser.parse(AndroidSaxFeedParser.java:75)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.MessageList.loadFeed(MessageList.java:91)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.MessageList.ParseIt(MessageList.java:43)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at java.lang.reflect.Method.invokeNative(Native Method)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at java.lang.reflect.Method.invoke(Method.java:507)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.view.View$1.onClick(View.java:2186)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.view.View.performClick(View.java:2532)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.view.View$PerformClick.run(View.java:9277)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.os.Handler.handleCallback(Handler.java:587)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.os.Looper.loop(Looper.java:143)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.app.ActivityThread.main(ActivityThread.java:4196)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at java.lang.reflect.Method.invokeNative(Native Method)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at java.lang.reflect.Method.invoke(Method.java:507)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at dalvik.system.NativeStart.main(Native Method)
08-16 20:34:12.758: ERROR/AndroidNews(31840): Caused by: java.lang.RuntimeException: java.text.ParseException: Unparseable date: "Tue, 16 Aug 2011 11:30:05 GMT00"
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.Message.setDate(Message.java:74)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.AndroidSaxFeedParser$5.end(AndroidSaxFeedParser.java:64)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.sax.RootElement$Handler.endElement(RootElement.java:197)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatParser.endElement(ExpatParser.java:158)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatParser.appendBytes(Native Method)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:518)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:479)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:318)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:275)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at android.util.Xml.parse(Xml.java:87)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.AndroidSaxFeedParser.parse(AndroidSaxFeedParser.java:70)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     ... 16 more
08-16 20:34:12.758: ERROR/AndroidNews(31840): Caused by: java.text.ParseException: Unparseable date: "Tue, 16 Aug 2011 11:30:05 GMT00"
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at java.text.DateFormat.parse(DateFormat.java:626)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     at org.developerworks.android.Message.setDate(Message.java:69)
08-16 20:34:12.758: ERROR/AndroidNews(31840):     ... 26 more
Анпарсебл дейт... как это возможно? Почему очень даже парсебл на эмуляторе, и не парсебл на телефоне? И там и там стоит 2.3.3. Дело в формате даты возможно, как-то берется какое-то значение из настроек телефона?

Используется такой форматер:

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
static SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z");
...
private Date date;
...
public String getDate() 
    {
        return FORMATTER.format(this.date);
    }
 
    public void setDate(String date) 
    {
        // pad the date if necessary
        while (!date.endsWith("00"))
        {
            date += "0";
        }
        try 
        {
            this.date = FORMATTER.parse(date.trim());
        } 
        
        catch (ParseException e) 
        {
            throw new RuntimeException(e);
        }
    }
Добавлено через 4 часа 17 минут
Вопрос решен:

Java
1
static SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", new Locale("en", "EN"));
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2011, 00:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос RSS-читалка - работает на эмуляторе, не работает на реальном девайсе (Программирование Android):

Разные шрифты на эмуляторе и на девайсе - Программирование Android
Здравствуйте, проблема в следующем: Динамически создаю разметку, размер шрифта задаю так: res = context.getResources();...

Layout-large не работает в эмуляторе - Программирование Android
Использую стандартный эмулятор который шел в Android Studio, создал доп папки layout-large и layout-xlarge с соответствующими настройками...

На эмуляторе работает, а в смартфоне нет - Программирование Android
Подскажите, в чём ошибка? В android sdk работает, а в смарте нет. А должен просто появится один символ на экране, и переместиться...

OpenGL ES 2.0 Шейдер работает только на эмуляторе - Программирование Android
Здравствуйте! Возникла проблема с шейдером "тайлинг с отражением". На эмуляторе GENYMOTION различных версий Android все отлично... На...

Приложение в телефоне работает корректно только в эмуляторе - Программирование Android
мобильное приложение .apk который я скинул на свой телефон захожу проверяю открывает когда нажимаю на кнопку вылетает а в эмуляторе...

Программа не работает на реальном телефоне - Программирование Android
Пишу небольшую программу, где присутствует авторизация. В эмуляторе все прекрасно авторизуется. Как только кидаю программу на мой xperia,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
arkadattx
0 / 0 / 0
Регистрация: 21.02.2011
Сообщений: 24
17.08.2011, 10:18 #2
Цитата Сообщение от Опа!! Посмотреть сообщение
Вопрос решен:
А что это означает?
Опа!!
15 / 15 / 0
Регистрация: 30.09.2009
Сообщений: 89
17.08.2011, 10:27  [ТС] #3
Установил необходимую локаль, теперь работает и на эмуляторе и на трубке. Если под "этим" Вы имели в виду последнюю строку кода.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2011, 10:27
Привет! Вот еще темы с ответами:

Xamarin, приложение устанавливается на телефон, но не работает, хотя работает на эмуляторе - Xamarin
Приложения не запускаются на телефоне, хотя в эмуляторе работают нормально. а манифесте по версиям сходится все, на телефоне 4.0.3, так же...

не работает rss - DLE
Добрый день. не работает rss http://kinozlat.ru/rss.xml/ почему безпонятия, подскажите пожалуйста Добавлено через 42 минуты Всё...

Резидент на эмуляторе Windows XP: на других ПК не работает обратный отсчет - Assembler
Здравствуйте. Столкнулся тут с проблемой: Написал резидент на эмуляторе Windows XP , по заданию, он должен через заданное в командной...

Не работает импорт RSS-новостей - PHP БД
Всем Привет!!!:) Есть скрипт, копирующий новости с rss-ленты auto.mail.ru в БД сайта. Вот он: <?php //set_time_limit(320);; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru