Главная » Разработка для Android » Ресурсы Интернета

0

Имея  доступ к Интернету и браузеру, основанному  на WebKit, вы мо- жете спросить,  существует ли хоть одна причина,  по которой  вместо веб- приложений нужно создавать  родные аппликации, взаимодействующие с Глобальной сетью.

Есть немало преимуществ,  которые вы получаете при создании родных тонких (thin) и толстых (rich) клиентов, вместо того, чтобы полностью по- лагаться на веб-технологии.

• Пропускная способность. Использование статических  ресурсов, таких как изображения, HTML-страницы и аудиоданные, может ока- заться довольно расточительным в условиях  ограниченного и часто дорогого подключения к Сети. Создавая родные приложения, можно потреблять  только нужные данные.

• Кэширование.  Мобильный интернет-доступ пока еще не стал по- всеместным.  В сочетании  с нестабильным сетевым  подключением приложения, работающие  в браузере, время от времени  могут быть недоступны. Родное приложение способно кэшировать данные, чтобы предоставлять как можно больше функций без соединения  с Интер- нетом.

• Интеграция с системой. Устройства на базе Android  — нечто боль- шее, чем просто платформа для запуска браузера: они могут включать геолокационные сервисы, уведомления, виджеты,  камеры  и акселе- рометры. Создавая родные приложения, вы можете сочетать данные, полученные  из Сети, с аппаратными возможностями, доступными на устройстве,  обеспечивая  более тесное взаимодействие с пользо- вателем.

Современные мобильные устройства предоставляют несколько альтер- нативных  способов подключения к Интернету. В целом Android  поддер- живает два типа соединения, каждое из которых прозрачно на прикладном уровне:

• мобильный Интернет — доступ через GPRS, EDGE  и 3G предостав- ляется мобильными операторами  за плату;

• Wi-Fi — беспроводные адаптеры и мобильные  точки доступа стано- вятся все более распространенными.

Подключение к интернет-ресурсу

Хотя в этой книге и не рассматриваются подробности работы с конкрет- ными веб-сервисами, вам не помешает познакомиться с общими принципа- ми подключения к Интернету и получения входящего потока из удаленного источника данных.

Прежде чем вы сможете получить доступ к интернет-ресурсу, необходи- мо добавить в манифест  своего приложения полномочие  INTERNET, как показано в следующем фрагменте  XML-кода:

<uses-permission android:name="android.permission.INTERNET"/>

В листинге 5.26 демонстрируется простой шаблон для открытия потоков данных в Интернете.

Листинг 5.26. Открытие потока данных

String myFeed = getString(R.string.my_feed);

try {

URL url = new URL(myFeed);

URLConnection connection = url.openConnection();

HttpURLConnection httpConnection = (HttpURLConnection)connection;

int responseCode = httpConnection.getResponseCode();

if (responseCode == HttpURLConnection.HTTP_OK) { InputStream in = httpConnection.getInputStream();

[ … В случае необходимости, обработайте входящей поток … ]

}

}

catch (MalformedURLException e) { }

catch (IOException e) { }

Android содержит несколько классов, которые помогают управлять се- тевыми соединениями. Они доступны в пакетах java.net.* и android.net.*.

Далее в этой главе представлен пример получения и обработки потоков из Интернета,  содержащих список землетрясений за последние 24 часа.

В главе 13 содержится больше информации об управлении конкретными интернет-подключениями, в том числе об отслеживании состояния соедине- ний и настройке подключения к беспроводным точкам доступа (Wi-Fi).

Использование интернет-ресурсов

Android  предоставляет несколько  способов использования интернет- ресурсов.

С одной стороны, вы можете задействовать объект WebView,  чтобы встроить в свою Активность браузер, основанный на движке WebKit. С дру- гой — есть возможность напрямую  взаимодействовать с серверными про- цессами с помощью таких клиентских программных интерфейсов, как GData API от Google. Компромисс — использование удаленных потоков в формате XML, чтобы извлекать и обрабатывать данные с помощью стандартных об- работчиков, поставляемых с Java, таких как SAX или его более эффективный аналог XmlPullParser.

Подробные инструкции о том, как обрабатывать XML и взаимодейство- вать с конкретными веб-сервисами, выходят за рамки тем этой книгой. Тем не менее в проекте Earthquake, с которым  вы ознакомитесь далее в этой главе, представлен полностью рабочий пример разбора потоков в формате XML с помощью парсера SAX.

Используя интернет-ресурсы в своем приложении, помните, что сетевое подключение пользователя зависит от доступных ему коммуникационных технологий. Соединения через EDGE и GSM, как известно, обладают низкой пропускной способностью, тогда как подключение к Wi-Fi может отличаться ненадежностью,  если его использовать в мобильном  телефоне.

Оптимизируйте работу своего приложения, ограничив количество пере- даваемых им данных, и убедитесь, что оно способно справиться с нестабиль- ным сетевым подключением и ограниченной  пропускной способностью.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии