Чем открыть файл xml на андроид

Здравствуйте. Существует множество различных форматов документов, которые не всегда можно воспроизвести простым образом. К примеру, как открыть XML файл в читаемом виде, чтобы не только просматривать, но и редактировать представленную информацию? Об этом и пойдет речь в сегодняшней публикации. Тема несложная, но очень важная для понимания.

Что за XML?

Данный формат вмещает в себя данные, отформатированные особым образом. Разметка во многом напоминает язык HTML (для создания веб-страниц), но внутри могут содержаться настройки программного обеспечения, базы данных и т.д.

Уверен, программистам нет смысла объяснять суть. Но когда обычный пользователь впервые сталкивается с такими файлами, не понимает, как его открыть в удобном для восприятия виде. К примеру, нередко возникает логичный запрос – чем открыть XML файлы Росреестра, полученные по электронной почте?

Схема кода достаточно проста: есть определенные теги форматирования, информация имеет древовидную структуру и состоит из атрибутов, значений. Каждый человек может вносить свои изменения, добавлять данные. Каким же образом это сделать лучше всего?

Просмотр в браузере

Если на Вашем ПК не установлено дополнительное программное обеспечении, то при попытке открытия файла XML запуститься браузер. Стоит отметить, что разные обозреватели отображают контент неодинаково. К примеру, в Internet Explorer разметка выглядит слегка хаотично, в Firefox – намного нагляднее.

  • Чтобы выбрать приложение для открытия, нужно кликнуть по документу правой кнопкой мышки и в появившемся меню выбрать «Свойства».
  • На главной вкладке кликаем по кнопке «Изменить»:

  • Указываем путь к иному браузеру или приложению:

Рекомендуем:

Какой программой открывать XML файлы?

Помимо браузеров есть немало другого софта, который позволяет решить проблему. Стандартный «Блокнот» отображает хаотичную информацию. То же самое можно сказать и о старых версиях редактора Word. Но уже начиная с редакции 2007 года документы запускаются в читаемом виде, с правильной структурой:

Единственный недостаток такого способа – большое количество страниц. Можно долго листать, пока доберетесь до нужного места. Поэтому, я советую воспользоваться офисным комплексом Майкрософт Эксель.

Как открыть XML в MS Excel?

Достаточно запустить программу и нажать сочетание клавиш Ctrl + O. Затем указываем путь к документу и дожидаемся загрузки. Таблица может формироваться длительное время, утилита немного подвиснет, но не нужно сразу её закрывать. Дождитесь окончания процесса, и вы увидите нечто подобное:

Красота, не правда ли? Всё понятно и доступно.

Продвинутый «Блокнот»

Используя софт с названием Notepad++, скачать который рекомендую на официальном сайте по ссылке , Вы сможете не только просмотреть код, но и отредактировать его при необходимости:

Также, в сети можно найти массу онлайн сервисов и специальных утилит. Вот некоторые из них:

  • xmlgrid.net (нажимаем на кнопку «Open file» и выбираем файл);
  • EditiX Lite (скачиваем, устанавливаем приложение);
  • XMLPad (нужно скачать софт, инсталлировать на ПК).

Откровенно говоря, для простого просмотра достаточно и браузера. Но если намерены вносить корректировки, то придется обратиться к специфическому ПО.

Я рассказал, как открыть XML файл в читаемом виде, способов немало. Практически все они схожи между собой, поэтому, достаточно и тех, которые я перечислил в обзоре.

Хотелось бы узнать Ваше мнение по теме, которое можете высказать в комментариях.

Добрый день. Я думаю, часть пользователей компьютеров уже успели столкнуться с XML-файлами. А именно, текстовыми документами, у которых формат XML. Конечно, не все люди толком понимают, что это за расширение, и как его правильно открыть? Например, многим людям пришли файлы от налоговой в формате XML, и теперь эти люди не знают: — Чем открыть xml файлы росреестра в человекочитаемом формате?

Что значит XML расширение?

Итак, давайте с начала. Ведь если не понять азы, а именно, что такое формат XML, людям трудно будет понять, каким именно образом лучше всего открыть данный формат. Этот формат содержит в себе информацию, которую отформатировали определенным методом.

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

На данный момент, файлы с таким расширением встречаются частенько. XML файлы встречаются в виде единых баз информации, различных списков по настройке софта и утилит. Также, фалами XML могут быть страницы ресурсов в интернете. Файлы с подобной разметкой могут быть применены во время создания аудио, или видео каталогов.

Например, в веб программировании используют такой известный файл, как sitemap.xml. В переводе на русский, это «карта сайта» (файл, где веб мастер помещает адреса всех страниц своего ресурса). Данный файл создан для поисковика Google. Вообще, стандарт XML создали специально в виде универсального, чтобы было удобнее обмениваться информацией среди различных программ.

Как открыть файл XML – рассмотрим самые простые методы

Как мы поняли, на ПК установлено определённое число программ, которые могут открыть этот файл. Обычно, в таких случаях, Windows предлагает сделать выбор из специальных программ, способных открыть данный файл.

В интернете данные файлы обычно открывают роботы поисковых систем в автоматическом режиме, и обычный читатель сайта этого не замечает. Но чем его можно открыть простому человеку? Давайте кликнем по такому файлу мышкой и попробуем его открыть.

Для этого, я выбираю, чтобы долго не искать, тот же файл sitemap.xml моего сайта, кликаю по нему левой кнопкой мышки. Файл открывает браузер Internet Explorer. То, что вы видите на скриншоте, действительно находится на данном файле, но, в сжатом виде. Это не значит, что все карты сайта так выглядят, просто я этот файл специально сжал для более быстрой загрузки сайта. Такая форма открытия хороша для роботов поисковых систем. Роботу от поисковика, и многим программистам, в этом наборе символов всё понятно. Но, обычному человеку нет. Зато, обычный человек понимает, что файлы с расширением XML содержат текст.

Читайте также:  Топ 10 самых богатых стримеров россии

Вообще, XML расшифровывается как eXtensible Markup Language, что переводится как «Расширяемый язык». Отсюда понятно, что это один из языков программирования. Простому пользователю в суть данного языка вникать не следует.

Чем ещё можно открыть подобный файл XML?

Как я уже сказал, такие файлы содержать текст. Отсюда, попробуем открыть данный файл самым простым текстовым редактором «Блокнот». Итак, опять попробуем открыть файл sitemap.xml. Кликнем по файлу правой кнопкой мышки. Выберем «Открыть с помощью» и среди программ ниспадающего меню, выберем «блокнот».

Теперь, мы уже видим структуру кода данного документа. Вам понятно, что этот код означает? Мне да. В файле идёт перечисление адресов статей моего сайта, времени их написания, и прочее.

Итак, давайте вспомним, чем ещё предлагала система открыть данные файлы? Одной из лучших программ для этого, на мой взгляд, является бесплатная русифицированная программа просмотра файлов сайта «Notepad++» (эта программа очень похожа на Блокнот). Скачать Notepad++ с официального сайта. Затем, во время установки, если вы увидите, что дизайн идёт английский, не забудьте поменять его на русский!

Как вы заметили, данная программа имеет, по сравнению с блокнотом, более богатый функционал, включавший разнообразное меню, вроде «Кодировки», «Инструменты», «Макросы», «Поиск» и прочее. Да и сам код файла выглядит более красиво. Различные части кода отмечены разным цветом.

Если же «Notepad++» открывает письма с крякозябрами, то, это значит, их нужно перевести в нормально читаемый формат. Для этого, откроем «Notepad++». В меня выбираем «Кодировки», затем выберем «Кодировка в UTF-8 без BOM». Теперь в данном редакторе, у вас должен открыться человеко читаемый формат!

Чем ещё предлагала система открыть файл XML?

Программу WordPad. Эта программа похожа на урезанный Word программ «Office», только системный. Итак, открываем программой WordPad. Как видно из скриншота, текстовая часть кода та же, но, возможности меню увеличены. Хотя, для данного файла они лишние.

Чем ещё предлагала система открыть файл? Обычным Word. Итак, открываем файл этим текстовым редактором. Как видим, программа Word преобразила коды в настоящие ссылки и даты, которые закодированы в этом файле. Я думаю, части пользователей такой вариант открытия файла кажется боле удобным. Как по мне, более понятно, когда видишь вариант кода таким, какой он есть, чем преображенный. То есть, лучше всего файл с расширением XML открывает программа «Notepad++».

Как открыть файл XML присланный Росреестром?

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

На официальный сайт Росреестра можно зайти по ссылке… . На сайте также можно официально обратиться в поддержку отой организации.
Кроме этих программ, открыть XML могут прочие браузеры, а не только Internet Explorer. Открывает данный файл другая программа Office «Excel». Но, для файлов этого расширения существуют специальные программы, в которых включена углублённая поддержка синтаксиса данного языка. Это программы: — XML Pad, EditiX Lite Version, XML Marker.

Вывод: — Открыть XML файл довольно просто, достаточно кликнуть по нему одним курсором мышки, и он откроется в одном из браузеров. Но, в режиме открытия файла в браузере, мы не можем его редактировать. Для редактирования я рекомендую применять «Notepad++». Если же вам необходимо провести более тщательное редактирование файла, я рекомендую применять программы из предыдущего абзаца, вроде XML Marker. Успехов!

Начало работы

Прочитав эту статью, вы узнаете о создании Android-приложений, способных работать с XML в Интернете. Программы для Android пишутся на Java™, поэтому для понимания материала необходим опыт использования этого языка программирования. Кроме того, вам понадобится инструментарий разработки программного обеспечения для Android (SDK). Все примеры кода, приведенные в этой статье, могут работать с любой версией Android, хотя для их создания использовался SDK 1.5_pre. В принципе приложения для Android можно создавать, имея под рукой только SDK и текстовый редактор, но гораздо проще использовать специальный модуль ADT, подключаемый к Eclipse (Android Developer Tools – инструментарий Android-разработчика). В этой статье используется ADT 0.9 и Eclipse 3.4.2 Java Edition (ссылки на все программы приведены в разделе Ресурсы).

XML в Android

Android представляет собой платформу с открытым кодом для разработки приложений для мобильных устройств. С ее помощью можно получить доступ ко всем компонентам устройства, на котором выполняется эта ОС, начиная от низкоуровневого программирования графики и заканчивая использованием встроенной камеры. В Android есть столько всего интересного, что логично задать вопрос: а зачем вообще задумываться об XML? Однако интерес представляет не столько сам XML, сколько взаимодействие с другими объектами с его помощью. В частности, XML является распространенным форматом для обмена информацией в Интернете, поэтому велика вероятность, что он понадобится вам для доступа к данным в Web. Кроме того, XML может потребоваться для передачи данных, например, Web-сервису. Другими словами, если вы хотите, чтобы ваше приложение для Android работало через Интернет, вам скорее всего придется иметь дело с XML. К счастью, существует множество вариантов работы с XML в Android.

Парсеры XML

Часто встречающиеся аббревиатуры
  • API: Application programming interface (Интерфейс прикладного программирования)
  • RSS: Real Simple Syndication (Действительно простая синдикация)
  • SDK: Software Developers Kit (пакет разработчика программного обеспечения)
  • UI: пользовательский интерфейс
  • URL: универсальный локатор ресурса
  • XML: расширяемый язык разметки

Одной из наиболее привлекательных черт платформы Android является использование языка программирования Java. SDK Android поддерживает не всю, но достаточно большую часть возможностей стандартной среды выполнения Java (Java Runtime Environment – JRE). Cама платформа Java уже долгое время поддерживает множество различных способов использования XML, причем большинство API для Java, ориентированных на XML, доступны в Android. Примерами таких API могут служить объектная модель документов (Document Object Model — DOM) и простой Java API для XML (Java’s Simple API for XML – SAX), которые уже много лет являются частью технологии Java. Обратным примером является более новый потоковый API ( Streaming API for XML – StAX), который не поддерживается в Android (при этом в состав Android входит эквивалентная по своим возможностям библиотека). В Android также недоступен API для связывания с данными XML (Java XML Binding — JAXB). Его безусловно можно реализовать для данной платформы, однако он отличается некоторой тяжеловесностью, которая проявляется в том, что множество экземпляров разных классов часто требуется для представления документов XML. В связи с этим он является менее предпочтительным при создании приложений для портативных устройств, подобных тем, на которых работает Android. Далее мы рассмотрим в качестве примера простой источник XML-данных в Интернете, а также способы их разбора внутри Android-приложения при помощи перечисленных выше API. Мы начнем с рассмотрения основных компонентов простого приложения, работающего с XML-данными, полученными через Интернет.

Читайте также:  Спирт от грибка ногтей отзывы

Приложение для чтения новостей для Android

Ниже будет рассмотрено приложение, получающее информационную ленту RSS с сайта Androidster, популярного среди Android-разработчиков, и трансформирующее ее в набор простых Java-объектов. Этот набор далее будет выступать в качестве содержимого компонента ListView (ссылка на исходный код приведена в разделе Загрузка). Приложение следует классическим принципам полиморфизма: его поведение будет оставаться внешне одинаковым при использовании различных алгоритмов разбора XML. Данная модель легко представима в Java, как показано в листинге 1.

Листинг 1. Интерфейс парсера XML-лент

В листинге 2 показан класс Message , являющийся примером простого Java-объекта (Plain Old Java Object — POJO) и служащий для представления определенной структуры данных (сообщения).

Листинг 2. POJO-класс Message

Класс сообщения, показанный в листинге 2, достаточно прост. Он позволяет скрыть от внешних компонентов некоторые детали своего внутреннего состояния, в частности, он разрешает работать с датами и ссылками как со строковыми объектами, хотя хранятся они в строго типизированном виде ( java.util.Date и java.net.URL ). Этот класс является классическим примером объекта-значения, обладающего собственной реализацией методов equals() и hashCode() на основе текущего состояния. Он также реализует интерфейс Comparable , служащий для сортировки (на практике этот метод не нужен, поскольку записи в ленте всегда упорядочены).

Каждая реализация парсера (алгоритма разбора XML) принимает на вход URL RSS-ленты Androidster и открывает HTTP-соединение с указанным сайтом. Эту функциональность логично вынести в абстрактный базовый Java-класс, как показано в листинге 3.

Листинг 3. Базовый класс парсеров лент

Этот базовый класс хранит URL ленты в переменной feedUrl и использует его для открытия потока ввода ( java.io.InputStream ). В случае возникновения любых ошибок он просто генерирует исключение типа RuntimeException , приводящее к быстрому аварийному завершению приложения. Кроме того, класс определяет ряд простых констант для имен тегов. Значение этих тегов иллюстрируется в листинге 4, в котором показан фрагмент информационной ленты.

Листинг 4. Пример ленты XML

Как видно из примера в листинге 4, каждый элемент ITEM соответствует экземпляру класса Message . При этом дочерние элементы записи ( TITLE , LINK и т. д.) соответствуют свойствам Message . Теперь, когда вы получили представление о том, как выглядят ленты RSS, можно переходить к рассмотрению их разбора при помощи различных технологий, доступных в Android. В качестве первой такой технологии мы рассмотрим SAX.

Использование SAX

В Java API SAX часто используется в тех случаях, когда требуется быстрый парсер и необходимо минимизировать расход памяти в приложении. Именно поэтому SAX очень привлекателен для использования в мобильных устройствах под управлением Android. При этом при создании приложений для Android этот API можно использовать в точности так же, как и в Java. Реализация интерфейса FeedParser , основанная на SAX, показана в листинге 5.

Листинг 5. Реализация парсера на основе SAX

Этот фрагмент кода должен выглядеть привычно для тех, у кого уже есть опыт использования SAX. Большая часть кода заключена в обработчике, что характерно для любого SAX-парсера. Обработчик получает уведомления о событиях от парсера по мере того, как тот разбирает документ XML. В данном случае в роли такого обработчика выступает класс RssHandler (листинг 6).

Листинг 6. Обработчик событий SAX

Класс RssHandler является наследником класса org.xml.sax.helpers.DefaultHandler , который предоставляет пустую реализацию по умолчанию для обработчиков всех событий, генерируемых SAX-парсером. Благодаря этому базовому классу дочерние классы могут переопределять только методы, которые соответствуют интересующим их событиям. RssHandler реализует еще один API, состоящий из метода getMessages . Этот метод возвращает список объектов типа Message , составляемый в процессе обработки событий, полученных от SAX-парсера. Кроме того, класс включает две внутренние переменные: currentMessage типа Message , представляющую собой текущее разбираемое сообщение, и builder типа StringBuilder , в которой хранится текстовое содержимое текстовых вершин. Обе эти переменные инициализируются в методе startDocument , который вызывается при начале разбора документа парсером.

Обратите внимание на метод startElement в листинге 6. Он вызывается каждый раз, когда парсер встречает открывающий тег в документе XML. В нашем случае значение имеют только теги ITEM , для каждого из которых необходимо создать новый экземпляр типа Message . Далее рассмотрим метод characters . Он вызывается при разборе содержимого текстовых вершин в XML, которое просто добавляется в переменную builder . Наконец, взгляните на метод endElement , вызывающийся парсером при обнаружении закрывающего тега. В случае, если данный тег соответствует одному из атрибутов сообщения, например, TITLE или LINK , устанавливается значение соответствующего свойства объекта, хранящегося в переменной currentMessage . При этом значение берется из переменной builder . Если же закрывающим тегом является ITEM , то текущее сообщение ( currentMessage ) добавляется в список сообщений. Подобное поведение является классическим примером использования SAX, и в нем нет ничего специфичного для Android. Таким образом, если вы умеете писать SAX-парсеры на Java, то у вас не будет проблем с их созданием для Android. Более того, в SDK Android реализован ряд полезных функций в дополнение к SAX.

Упрощение использования SAX в Android

SDK Android включает вспомогательный класс android.util.Xml . Его использование в парсере SAX показано в листинге 7.

Листинг 7. Реализация SAX-парсера в Andro >

Обратите внимание, что этот класс по-прежнему способен работать с любыми обработчиками SAX, поэтому в нем используется ранее созданный RssHandler . Возможность повторного использования обработчиков является несомненным преимуществом, однако они могут оказаться чересчур сложными. Нетрудно представить, что если придется анализировать значительно более сложные документы XML, обработчик может легко превратиться в неиссякаемый источник ошибок. Например, взгляните еще раз на метод endElement в листинге 6 и обратите внимание на проверку переменной currentMessage на null перед установкой значения свойств. Теперь вернитесь к фрагменту XML, приведенному в листинге 4. Как видите, он включает элементы TITLE и LINK , находящиеся вне элемента ITEM . Именно этим объясняется проверка на null, поскольку иначе обработка первого же элемента TITLE приведет к исключению типа NullPointerException . К счастью, Android включает свой собственный вариант API SAX, благодаря которому можно не писать собственные обработчики. Пример приведен в листинге 8.

Читайте также:  Что характерно для дисплеев с матрицей tn
Листинг 8. Упрощенная реализация SAX-парсера для приложения Andro >

Как и было обещано, в этом фрагменте кода не используются классы-обработчики SAX. Вместо этого парсер использует классы из пакета android.sax, входящего в состав SDK. Эти классы помогают моделировать структуру документов XML и добавлять слушатели событий по мере необходимости. В приведенном выше примере декларируется, что документ XML имеет корневую вершину rss , у которой есть дочерняя вершина channel . Внутри нее располагаются элементы ITEM , для которых добавляются слушатели. Каждый из слушателей реализуется в виде анонимного внутреннего класса, реализующего специальный интерфейс (в данном случае либо EndElementListner , либо EndTextElementListener ). Обратите внимание, что в этом подходе не приходится отдельно хранить текстовое содержимое, что не только проще, но и эффективнее. При этом обработчик, который передается в вспомогательный метод Xml.parse, автоматически определяется корневым элементом документа.

Подход, продемонстрированный в листинге 8, не является обязательным. Если вас устраивает стандартный способ работы с SAX в Java, вы можете использовать его. В противном случае вы можете работать с SAX через вспомогательные классы, предоставляемые SDK Android. Однако что делать, если вы вообще не хотите использовать SAX? В этом случае есть еще несколько вариантов, одним из которых является DOM.

Использование DOM

Разбор документов XML по принципам DOM полностью поддерживается в Android. Этот API работает точно так же, как в Java-приложениях для серверов и настольных компьютеров. Реализация интерфейса парсера лент RSS на основе DOM показана в листинге 9.

Листинг 9. Реализация парсера XML-лент на основе DOM

Как и в случае c SAX, в данном коде нет ничего специфичного для платформы Android. Парсер DOM считывает содержимое всего документа в память и предоставляет методы API для обхода дерева XML, позволяющие находить нужную информацию. Этот подход весьма очевиден и в некотором смысле проще реализаций, основанных на SAX. Однако использование DOM, как правило, требует больше памяти, поскольку в нее считываются все узлы XML. Это может представлять собой реальную проблему для портативных устройств под управлением Android, за исключением случаев разбора заведомо небольших документов XML. Учитывая это, нетрудно было предположить, что SAX должен быть значительно популярнее среди разработчиков Android-приложений, поэтому именно для него были созданы вспомогательные классы. Кроме SAX и DOM, платформа поддерживает и третий тип парсеров, а именно принимающие парсеры (pull parsers).

Принимающий парсер XML

Как было замечено выше, Android не поддерживает API StAX. Однако в состав Android входит принимающий парсер, работающий аналогично StAX. Он позволяет вашему приложению принимать события от парсера в отличие от SAX-парсеров, которые автоматически передают события обработчику. Реализация принимающего парсера для анализа лент RSS показана в листинге 10.

Листинг 10. Реализация принимающего парсера

Принцип работы принимающего парсера похож на SAX. Он оперирует теми же событиями (начало элемента, конец элемента), однако их необходимо запрашивать явным образом при помощи метода ( parser.next() ). События имеют числовые идентификаторы (коды), поэтому для их выбора можно использовать оператор case-switch. Следует отметить, что вместо отслеживания закрывающих тегов, как в SAX, в случае принимающего парсера проще обрабатывать содержимое элемента при обнаружении открывающего тега. В листинге 10 приведен пример вызова метода parser.nextText() при обработке начала элемента для получения его текстового содержимого. Это существенно упрощает разбор документов по сравнению с SAX. Кроме того, обратите внимание на установку булева флага done , сигнализирующего об окончании обработки интересующего фрагмента документа. Это позволяет остановить процесс чтения документа XML если вы уверены, что в оставшейся его части нет ничего интересного для вашего приложения. Это весьма полезная возможность, особенно в тех случаях, когда требуется считать лишь малую часть документа. Подобные оптимизации играют весьма важную роль на мобильных устройствах, которые зачастую работают через медленные соединения. Таким образом, использование принимающего парсера может быть не только проще, но и выгоднее с точки зрения производительности. Наконец, он может использоваться для редактирования документов XML.

Создание документов XML

До этого момента мы рассматривали варианта разбора документов XML, полученных из Интернета. Однако существуют ситуации, в которых вашему приложению необходимо отправлять данные в формате XML удаленному серверу. Разумеется, вы можете просто создавать текстовое представление XML при помощи StringBuilder или аналогичного класса. В качестве альтернативного решения можно воспользоваться принимающим парсером, как показано в листинге 11.

Листинг 11. Формирование документа XML при помощи принимающего парсера

Класс XmlSerializer находится в том же пакете, что и XmlPullParser , использовавшийся в предыдущем разделе. Однако вместо того, чтобы запрашивать события, он помещает их в поток или передает классу-писателю (в примере выше таковым является java.io.StringWriter ). Парсер предоставляет простой API, содержащий методы начала и завершения документа, создания элементов, а также формирования текстового содержимого элементов и атрибутов. Этот подход обладает существенным преимуществом по сравнению со StringBuilder : с его помощью легче гарантировать синтаксическую корректность документа XML.

Заключение

Вне зависимости от того, какое приложение вы создаете для Android, если ему требуется принимать или отправлять данные через Интернет, оно скорее всего должно будет уметь работать с XML. Как было продемонстрировано в этой статье, Android поддерживает множество технологий для обработки документов XML, поэтому вы можете делать свой выбор как на основе личных предпочтений, так и основываясь на конкретной ситуации. В большинстве случаев можно смело выбирать SAX и использовать этот API либо традиционным образом, либо через тонкий вспомогательный класс. Если вы работаете с небольшими документами XML, то, возможно, проще использовать DOM. В противном случае, а также если требуется обработать лишь часть документа, использование принимающего парсера XML может быть выгоднее из соображений производительности. Кроме того, принимающий парсер предоставляет удобные возможности для создания и редактирования документов. Таким образом, каковы бы ни были потребности вашего приложения в отношении работы с XML, вы всегда сможете найти нужную технологию в SDK Android.

Оцените статью
Добавить комментарий

Adblock detector