Очень хороший инструмент для ленивых создателей приложений под Android от MIT — App Inventor. Ранее были рассмотрены основные приемы работы со Списком. Здесь описаны некоторые возможности сервиса по работе с текстом.
Понадобилось мне отобразить собранную с различных датчиков информацию на экране в виде списка элементов. Затем Список надо было сохранить в текстовый CSV файл. Также нужно извлекать данные из файла и распаковывать элементы из строки CSV файла в отдельные реквизиты формы.
Для отображения строк файла использовал компонент «Список» из раздела «Интерфейс пользователя» (буду пользоваться только русской нотацией). Вытаскиваем его в экранную форму в «Дизайнер»
Теперь надо создать переменную нужного типа (см DBlist):
Добавить элемент (проще говоря, строку) в список по кнопке можно следующим образом
Эта процедура описана ранее. Здесь интересно посмотреть как компонуется текстовая строка для последующей записи в CSV файл. Используется метод Соединить из объекта Текст:
Собираем строку из отдельных реквизитов формы. В качестве разделителя используем «точку с запятой».
Обратное действие — достать из списка элемент. Далее разобрать текстовую строку на отдельные элементы, используя предопределенный разделитель. Поместить полученные данные в реквизитах формы
Это пример, разобранный ранее. Тут выбранный «пальцем» на форме элемент списка свое содержимое передает в переменную (фактически — текст) tmpText. Затем содержимое переменной «разбирается на части» и помещается в элементы формы в процедуре «Parcing_tmpText».
Рассмотрим часть этой процедуры, где идет разбор строки на элементы:
Здесь самым интересным является метод работы с текстом «Разделить в любом…» Он разделяет текст на список, используя разделитель. В качестве разделителя можно выбрать несколько вариантов (в примере это «; » и «;)» ). Выше при создании элемента списка (строки) мы использовали в качестве разделителя «; «.
Важно обратить внимание на переменную ListText. В результате выполнения «Разделить в любом…» создается список элементов (кусочки из строки). Вот в эту переменную список и помещается. Ее инициализация такая:
После такого разбора можно из списка доставать нужный элемент по его индексу как показано на рисунке выше. В данном примере индексы соответствуют ранее нами сформированной строке (см предыдущий раздел «Добавить элемент…»).