- TableLayout и TableRow
- Создаем таблицу прогноза погоды
- Программное создание TableLayout
- Усадка, усушка, утруска
- Книжная полка
- TableLayout приложения Android
- Пример табличной разметки, TableLayout
- Интерфейс приложения
- Текст меток
- Текстовое описание интерфейса
- Старт приложения
- Что такое row android
- Summary
- Public Constructors
- public Row (long id, HeaderItem headerItem)
- public Row (HeaderItem headerItem)
- public Row ()
- Public Methods
- public final HeaderItem getHeaderItem ()
- public final long getId ()
- public final void setHeaderItem (HeaderItem headerItem)
- Словарь терминов по прошивке смартфонов
- Что такое CWM и TWRP
- Вайп, full wipe или полный сброс
- Фишки смартфонов Samsung
TableLayout и TableRow
Разметка TableLayout (Табличная разметка) позиционирует свои дочерние элементы в строки и столбцы, как это привыкли делать веб-мастера в теге table. TableLayout не отображает линии обрамления для их строк, столбцов или ячеек. TableLayout может иметь строки с разным количеством ячеек. При формировании разметки таблицы некоторые ячейки при необходимости можно оставлять пустыми. При создании разметки для строк используются объекты TableRow, которые являются дочерними классами TableLayout (каждый TableRow определяет единственную строку в таблице). Строка может не иметь ячеек или иметь одну и более ячеек, которые являются контейнерами для других объектов. В ячейку допускается вкладывать другой TableLayout или LinearLayout.
TableLayout удобно использовать, например, при создании логических игр типа Судоку, Крестики-Нолики и т.п.
Вот несколько правил для TableLayout. Во-первых, ширина каждой колонки определяется по наиболее широкому содержимому в колонке. Дочерние элементы используют в атрибутах значение match_parent. Атрибут TableRow для layout_height всегда wrap_content. Ячейки могут объединять колонки, но не ряды. Достигается слияние колонок через атрибут layout_span.
Если атрибуту android:stretchColumns компонента TableLayout присвоить значение «*», то содержимое каждого компонента TableRow может растягиваться на всю ширину макета.
Создаем таблицу прогноза погоды
Например, для создания таблицы прогноза погоды можно использовать следующий дизайн:
- В первом ряду показать заголовок таблицы
- Во втором ряду показать даты по типу календаря
- В третьем ряду показать наибольшую температуру
- В четвёртом ряду показать наименьшую температуру
- В пятом ряду показать графику (дождь, снег, облачность, солнце)
Показать код (щелкните мышкой)
В альбомной ориентации наша разметка будет выглядеть следующим образом
Программное создание TableLayout
Усадка, усушка, утруска
Если текст в ячейке таблицы слишком длинный, то он может растянуть ячейку таким образом, что часть текста просто выйдет за пределы видимости. Чтобы избежать данной проблемы, у контейнтера TableLayout есть атрибут android:shrinkColumns. Мы рассмотрим программное применение данного атрибута через метод setColumnShrinkable().
Для начала смоделируем ситуацию и поместим в одну из ячеек очень длинный текст, который не поместится на экран:
Теперь напишем код для усадки текста:
Книжная полка
Создадим подобие книжной полки. Нам понадобится изображение одной полки, которая послужит фоном и изображение книги (найдите сами).
Объявим две константы, которые отвечают за количество полок и количество книг на каждой полке.
Откуда на верхней полке появился кот и как он туда забрался я не знаю. Вы уж сами разберитесь с ним.
Источник
TableLayout приложения Android
Данная статья является продолжением описания разметки интерфейса приложения Android. В предыдущей статье был представлен обзор с примерами возможных типов разметки. В данной статье рассмотрим табличную разметку TableLayout.
Контейнер TableLayout позволяет формировать табличный интерфейс расположения компонентов, в котором View размещаются в строках и столбцах подобно тому, как это оформляется на WEB-странице в теге
id | The id of the row. |
---|---|
headerItem | The HeaderItem for this Row, or null if there is no header. |
public Row (HeaderItem headerItem)
Constructor for a Row.
Parameters
headerItem | The HeaderItem for this Row, or null if there is no header. |
---|
public Row ()
Constructor for a Row.
Public Methods
public final HeaderItem getHeaderItem ()
Returns the HeaderItem that represents metadata for the row.
Returns
- The HeaderItem for this row, or null if unset.
public final long getId ()
Returns a unique identifier for this row. This id can come from one of three places:
- If setId(long) is ever called on this row, it will return this id.
- If setId(long) has not been called but the header item is not null, the result of getId() is returned.
- Otherwise NO_ID is returned.
public final void setHeaderItem (HeaderItem headerItem)
Sets the HeaderItem that represents metadata for the row.
Источник
Словарь терминов по прошивке смартфонов
Этот словарь я составил для себя, когда занимался прошивкой различных телефонов Android. Термины универсальны и применимы для любых девайсов на этой ОС.
OTA (FOTA) — это самый простой способ обновить прошивку. Оно происходит по воздуху, соединение с компьютером не нужно. При обновлении OTA (FOTA) пользовательские данные не изменяются, если не делать сброс.
RAW прошивка — это точно такая же стоковая прошивка, но шьется она не через recovery, а через специальную программу Asus Flash Tool, бывает, что обычная прошивка zip формата не поможет справиться с проблемой или например, когда не можете попасть в recovery даже, если прошивали его, в этом случае поможет RAW прошивка. Не влияет на загрузчик.
Bootloader – здесь находится микропрограмма (загрузчик), позволяющая запускать операционную систему, рекавери и другие сервисные режимы.
adb (ADB, Android Debug Bridge) — инструмент который устанавливается вместе с Android-SDK и позволяет вам управлять устройством на базе ОС Android. Вы можете найти его в папке «platform-tools», распакованного SDK. ADB — это управление андроид устройством при помощи команд с компьютера. Для работы с adb любое андроид устройство оснащёно программным обеспечением, и для компьютера написаны драйвера и программного обеспечения (ПО).
ADB — утилита, взаимодействующая со смартфонам по средствам команд. Имеет большее количество команд выполняющих множество отладочных функции. Полноценная работа возможна только на запущенном Android или кастомном recovery. Стоковый recovery работает только с командой sideload предназначенная для прошивки телефона.
Fastboot — режим загрузчика Android устройств, в котором устройство принимает команды от компьютера. Используется в основном для прошивки, очистки разделов и разблокировки загрузчика устройства. Также это утилита, управление которой происходит через командную строку, предназначенная для прошивки смартфона.
Более подробно о ADB и Fastboot тут.
Recovery — утилита устанавливаемая на смартфон через Fastboot, которая содержит инженерное меню телефона. Предназначена для сброса телефона на заводские настройки (те, что были сразу после прошивки), а так же для восстановления работоспособности путем прошивки через recovery режим. Так же стоит отметить, что кастомный recovery может прошить новый другой кастомный recovery , ядро и все остальное.
Как зайти в загрузчик/Fastboot и Recovery — на выключенном телефоне зажимаем кнопку прибавления громкости и удерживая на пару секунд нажимаем кнопку включения, отпускаем кнопку включения, кнопку громкости держим, два вибросигнала и экран включается, все отпускаем. Теперь вы в режиме Fastboot/загрузчика, там же клавишами громкости можно выбрать recovery mode и зайти в recovery.
Bootanimation — анимация загрузки, у нас это, когда начинает крутиться кружочек.
Splashscreen — предзагрузочная картинка, которая идет перед бутанимацией(bootanimation)
Сток (стоковая прошивка, рекавери т.д) — это обозначает первоначальную конфигурацию телефона, то что уже стояло в телефоне и было предустановлено производителем.
Кастом (кастомная прошивка, рекавери т.д) — противоположность стока, это то что создают другие люди для определенного телефона, это называют кастомом.
Пользовательская прошивка и есть официальная. А инженерной часто называют сервисную. В понятии сервис центров существуют пользовательская и сервисная прошивки. Сервисная напичкана всяким софтом для работнииков СЦ и не пригодна для ежедневного пользования.
Бутлуп (от англ. boot — загрузка и loop — петля) — бесконечная циклическая перезагрузка устройства, происходит в результате сбоя в системе.
Даунгрейд (от англ. downgrade — снижение) — понижение версии программного обеспечения или переход на более слабую / менее функциональную аппаратную конфигурацию.
Pit-файл — это файл с таблицей разделов внутренней памяти устройства, он нужен для переразметки разделов в момент прошивки устройства. Обычно используется с многофайловыми прошивками, но его использование не носит обязательного характера. Без особой необходимости его лучше не использовать т.к. ошибки при разметке памяти устройства могут привести к серьёзным последствиям, устранить которые в домашних условиях не получится.
Что такое CWM и TWRP
ClockWorkMod, CWM , клокворк — модифицированный умельцами Recovery 2e который позволяет помимо установки/запуска любых update.zip выполнять разнообразные операции: контролировать дополнительные опции ядра, устанавливать *.zip с любого места во внутренней флешке, править права доступа и многое-многое другое.
TWRP (TeamWin Recovery Project) — представляет из себя тоже, что CWM, модифицированное рекавери, со множеством дополнительных функций. Многим удобнее пользоваться TWRP, и это не странно, т.к. меню удобное, пункты большие, управление осуществляется при помощи сенсорного дисплея.
TWRP menu
Разница в том, что в TWRP больше возможностей, а так же он умеет самостоятельно прошивать boot.img, НО не всегда и не на всех РОМах, потому советуем вручную прошивать boot.img. Кроме того, в TWRP есть возможность открыть доступ к карте памяти через USB, в случае, когда все в телефоне удалено, и прошивка в том числе.
Также, в TWRP есть возможность работы с ADB (при запуске TWRP телефон видится через ADB и можно передавать файлы, выполнять команды, а также входить в Shell). Возможности бэкапа TWRP также немного больше, чем у CWM. Но, как говорится, без ложки дегтя тоже не обойтись – CWM проще гораздо, а поэтому – несколько стабильнее. Если при пользовании TWRP иногда случаются казусы с потерей доступа к sdcard, после чего приходится ставить стоковый рекавери, то с CWM такого еще не случалось. Плюс – есть такая штука, как ROM Manager (см. Google Play Market), которая работает только с CWM.
Установка TWRP подобна установке CWM, т.е. TWRP устанавливается такими же способами, что и CWM. Есть способ установки через Odin (for Samsung), уже установленное кастомное рекавери, например, CWM или через программу GooManager.
Вайп, full wipe или полный сброс
Под этим понятием подразумевают нередко несколько этапов вайпа. Начнём с того, что английский глагол wipe переводится как «стирать, уничтожать, удалять».
Это полная очистка всех пользовательских данных, происходит либо автоматически при установке полной официальный прошивки через ADB, или кастома в скрипте установки которого добавлены команды для вайпa, либо вручную при возникновении проблем со смартфоном, через меню рекавери или CWM.
Иногда под этим подразумевают полный сброс не только данных пользователя (wipe data), но и очистка прошивки из внутренней памяти смартфона (format).
Как сделать полный сброс до заводских настроек штатными средствами?
Пройти по пути:
Настройки — Учетные записи — Резервное копирование и сброс — Сброс данных — Сброс устройства.
Или зайти в стоковое рекавери, зажав 3 кнопки при включении и сделать там wipe data/factory reset.
Эквивалентно полному вайпу (Full Wipe), все пользовательские данные удалятся кроме файлов прошивки.
Как сделать полный сброс до заводских настроек средствами загрузчика CWM?
Входим в CWM и далее:
1. wipe data/factory reset
2. wipe cache partition
3. advanced/ wipe dalvik cache
Это уже считается Full wipe. Но если есть систематические проблемы, можно так же принудительно очистить системный раздел и уже очищенную через «data/factory reset» пользовательскую область:
4. mounts and storage/ format system
5. mounts and storage/ format data
6. mounts and storage/ format cache
После этого сброса если система не загрузится, то придется прошивать ее заново.
Фишки смартфонов Samsung
KNOX — это новая защита от несанкционированного вмешательства в систему от компании Samsung. Он в ходит в состав бутлоадера (загрузчика) на прошивках выше определенных версий начиная с 2015 года. Если вы уже обновились на новую прошивку, то избавиться от него возможности нет.
KNOX – это специализированная надстройка над ОС Android, призванная значительно повысить уровень защиты информации на мобильном устройстве от Samsung. В состав этой системы входит набор расширений, позволяющий создать защищенную среду на платформе от Google. Среди них – специальная изолированная зона для исполнения программ, механизм 256-битного шифрования и средство защищенной загрузки.
Другими словами, KNOX — это защищенная папка, в которую можно устанавливать приложения, переносить любые файлы и хранить их там под отдельным паролем. Установленное в эту папку приложение становится независимым от такого же приложения, установленного вне папки.
Когда счётчик KNOX изменил свой статус с 0×0 на 0×1, т оговорят, что он «тикнул» и вы лишились гарантии на устройство. Он срабатывает при получении Root прав и при установке кастомного Recowery. Также он сработает при попытки установить старую версию прошивки без KNOX. Возможности обнуления счётчика пока не существует. Посмотреть состояние Knox можно перейти в Odin mode зажав на выключенном телефоне кнопки Домой-Громкость вниз-Включение одновременно. Knox находится в строке Knox warranty void. При прошивке через Odin стоковых (не модифицированных) прошивок или других стоковых компонентов счетчик не срабатывает.
CIFS — файловая система памяти планшета
USB OTG — OTG расшифровывается, как On-the-Go. П ротокол USB OTG, как раз позволяет посредством кабеля передавать данные между портативными устройствами напрямую и с большой скоростью. Посредством OTG технологии можно управлять периферийными устройствами непосредственно с Android смартфона или планшета. Например, с помощью USB OTG, вы можете непосредственно связать цифровой фотоаппарат со своим планшетом или с принтером.
Практически все современные портативные (и не только портативные) устройства содержат внутри специальный USB-хост контроллер, который уже на аппаратном уровне реализует функцию OTG. Также, современные смартфоны поддерживают подключение USB OTG флэшек. Для поддержки OTG требуются специальные OTG кабели. Подробнее здесь.
Также, если вы хотите разобраться, как устроена ОС Android изнутри и как она взаимодействует bootloader и recovery — прочитайте эту статью.
Источник