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

Не могу найти ошибку в приложении Earthquake - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как подключиться к MySQL БД через в андроид приложении? http://www.cyberforum.ru/android-dev/thread1512449.html
Добрый вечер. Разрабатываю android-приложение которое должно подключаться к MySQL БД. Подскажите пожалуйста, каким способом я могу реализовать это? ибо в интернете ничего не нашел. Нашел только как...
Программирование Android Как зафиксировать TabLayout в AppBarLayout Доброго времени суток! Я хочу установить моё кастомное анимированное ImageView как фоновую картинку для AppBarLayout. Причем для тулбара и маленького изображения нужно установить:... http://www.cyberforum.ru/android-dev/thread1512403.html
Бесплатное API для отслеживания Индекса Dow Jones (DJI) Программирование Android
Помогите найти бесплатное API для отслеживания Индекса Dow Jones (DJI). Пробовал Yahoo Finance API. Сервис хороший но конкретно для Dow Jones предоставляет только графики, а нужны именно...
Стандартная функция delete в Eclipse работает а в AndroidStudio не работает Программирование Android
case R.id.btnDelete: {//Кнопка удаление последнего символа txtResult.setText(txtResult.getText().delete(txtResult.getText().length() - 1, txtResult.getText().length())); ...
Программирование Android Как прочитать личные сообщения в твиттере http://www.cyberforum.ru/android-dev/thread1512287.html
Какие есть API твиттера для чтения личных сообщений в приложение?? Как можно прочитать личные сообщения из твиттера в мое приложение, по какому url нужно делать запросы?? Или это невозможно??
Программирование Android Не обрабатывается позиция Spinner Посоветуйте пожалуйста, что нужно изменить, заранее спасибо. Создал Spinner( мужчина, женщина), учитывая выбранную позицию должна выполнятся отдельная функция. Т.е., если пользователь выбирает из... подробнее

Показать сообщение отдельно
AsfaltM
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 13

Не могу найти ошибку в приложении Earthquake - Программирование Android

10.08.2015, 13:19. Просмотров 232. Ответов 2
Метки (Все метки)

Добрый день.
Собственно пишу приложение по примеру из книги Рето Майер Андроид 4, глава 6, Earthquake. Написал точь в точь как в книге, при запуске приложения на экране висит значек загрузки и список землетрясений не выводится. Переписал парсер, тоже самое. Стало интересно почему же всё-таки не работает. Упростил все до минимума, так чтобы в методе refreshEarthquake просто в список ArrayList добавлялась строка, но эту строку из списка все равно не выводит на экран эмулятора, а приложение сообщает об ошибке. Бьюсь уже второй день, ошибку найти не могу.

<uses-permission android:name="android.permission.INTERNET" /> прописан

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
public class Earthquake extends ActionBarActivity {
 
    private static final String TAG = "EARTHQUAKE";
    ArrayAdapter<String> aa;
    ArrayList<String> earthquakes = new ArrayList<>();
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_earthquake);
        ListView lv = (ListView)findViewById(R.id.listView);
 
        int layoutID = android.R.layout.simple_list_item_1;
        aa = new ArrayAdapter<String>(this, layoutID , earthquakes);
        lv.setAdapter(aa);
 
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                refreshEarthquakes();
            }
        });
        t.start();
 
    }
 
    private void refreshEarthquakes() {
 
        URL url;
        try {
            url = new URL("http://earthquake.usgs.gov/fdsnws/event/1/query?format=
                                       xml&starttime=2015-01-01&endtime=2015-01-04");
            URLConnection connection;
            connection = url.openConnection();
 
            HttpURLConnection httpConnection = (HttpURLConnection)connection;
            InputStream in = httpConnection.getInputStream();
 
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
 
            Document dom = db.parse(in);
            Element docEle = dom.getDocumentElement();
 
            earthquakes.clear();
 
            NodeList nl = docEle.getElementsByTagName("event");
            if (nl != null && nl.getLength() > 0) {
                for (int i = 0 ; i < nl.getLength(); i++) {
                    Element entry = (Element)nl.item(i);
                    Element title = (Element)entry.getElementsByTagName("text").item(0);
                    Element latitude = (Element)entry.getElementsByTagName("latitude").item(0);
                    Element latitude2 = (Element)latitude.getElementsByTagName("value").item(0);
                    Element longitude = (Element)entry.getElementsByTagName("longitude").item(0);
                    Element longitude2 = (Element)longitude.getElementsByTagName("value").item(0);
                    Element when = (Element)entry.getElementsByTagName("time").item(0);
                    Element when2 = (Element)when.getElementsByTagName("value").item(0);
                    Element link = (Element)entry.getElementsByTagName("originID").item(0);
                    Element mag = (Element)entry.getElementsByTagName("mag").item(0);
                    Element mag2 = (Element)mag.getElementsByTagName("value").item(0);
 
                    String details = title.getFirstChild().getNodeValue();
                    String magValue = mag2.getFirstChild().getNodeValue();
                    String lan = latitude2.getFirstChild().getNodeValue();
                    String lon = longitude2.getFirstChild().getNodeValue();
                    String link2 = link.getFirstChild().getNodeValue();
                    String linkString = "http://" + link2.substring(7, link2.length());
                    String dt = when2.getFirstChild().getNodeValue();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    Date qdate = new GregorianCalendar(0,0,0).getTime();
                    try {
                        qdate = sdf.parse(dt);
                    } catch (ParseException e) {
                        Log.d(TAG, "Date parsing exception.", e);
                    }
 
                    Location l = new Location("dummyGPS" + i);
                    l.setLatitude(Double.parseDouble(lan));
                    l.setLongitude(Double.parseDouble(lon));
                    int end =  magValue.length()-1;
                    double magnitude = Double.parseDouble(magValue.substring(0, end));
 
                    //Quake quake = new Quake(qdate, details, l, magnitude, linkString);
                    earthquakes.add(details);
                    aa.notifyDataSetChanged();
                    //addNewQuake(quake);
                }
            }
        } catch (MalformedURLException e) {
            Log.d(TAG, "MalformedURLException", e);
        } catch (IOException e) {
            Log.d(TAG, "IOException", e);
        } catch (ParserConfigurationException e) {
            Log.d(TAG, "Parser Configuration Exception", e);
        } catch (SAXException e) {
            Log.d(TAG, "SAX Exception", e);
        }
        finally {
 
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru