Погода в городе
by Гоенко Михаил
Version 1.0
📅 Updated 2017-01-22
Features Погода в городе
Приложение "Погода в городе - Weather Viewer" использует бесплатные REST-совместимые веб-сервисы OpenWeatherMap.org для получения 16-дневного прогноза погоды для заданного города.
Приложение получает данные в формате JSON.
Результаты отображаются в ListView — компоненте для вывода списка с поддержкой прокрутки.
В этом приложении использоваться пользовательский формат элементов списка:- значок погодных условий,- день недели с текстовым описанием погоды в этот день,- самая высокая и самая низкая температура за день (по шкале Цельсия) ивлажность в процентах.
Для обращения к веб-сервису строка URL была преобразована в объект URL.
Затем объект URL использовался для открытия объекта HttpUrlConnection, в результате чего происходит обращение к веб-сервису через запрос HTTP.
Приложение читает все данные из потока InputStream класса HttpUrlConnection и помещает их в строку, а затем преобразует эту строку в JSONObject для обработки.
В приложении продемонстрировано, как организуется выполнение продолжительных операций за пределами потока GUI и получение результатов в потоке GUI с использованием объектов AsyncTask.
Это особенно важно для обращений к веб-сервисам, время выполнения которых не детерминировано.
Погодные данные выводятся в компоненте ListView, при этом данные для каждого элемента ListView поставляются при помощи субкласса ArrayAdapter.
Показанно, как повысить быстродействие ListView за счет использования паттерна View-Holder, при котором представления существующих элементов ListView используются заново при выходе элементов за границы экрана.И наконец, использовались некоторые средства материального дизайна из библиотеки Android Design Support Library — компонент TextInputLayout оставляет подсказку EditText на экране даже после того, как пользователь начал вводить текст; плавающая кнопка FloatingActionButton используется для отправки данных, введенных пользователем; компонент Snackbar отображает информационное сообщение для пользователя.
#REST-совместимые веб-сервисы, #AsyncTask, #HttpUrlConnection, #обработка данных в формате JSON, JSONObject, JSONArray, #ListView, ArrayAdapter, паттерн View-Holder, #TextInputLayout, FloatingActionButton
Secure & Private
Your data is protected with industry-leading security protocols.
24/7 Support
Our dedicated support team is always ready to help you.
Personalization
Customize the app to match your preferences and workflow.
See the Погода в городе in Action
Get the App Today
Available for Android 8.0 and above