Что это за программа appcompat

Что такое AppCompat?

Когда публикуются новые версии Android, Google должен будет поддерживать более старые версии Android. Таким образом, AppCompat — это набор библиотек поддержки, которые могут использоваться для разработки приложений с более новыми версиями с более старыми версиями.

Например: когда вы создаете проект андроида с минимальным уровнем Api 9 и целевым уровнем 21 api, в Api также должны поддерживаться новые функции, такие как ActionBar, Меню ящика (Новее в том смысле, что они отсутствовали в Api 9) и т.д. Телефоны уровня 10. Затем вы можете использовать библиотеку appCompat. Таким образом, панель действий android станет androidsupport actionbar/supportFragment и т.д.

Vishnu 22 фев. 2016, в 14:23
Поделиться
AppCompat означает совместимость приложений?
t3chb0t 21 фев. 2018, в 18:21
Да. Могу так сказать

Vishnu 19 апр. 2018, в 12:36

«Итак, AppCompat — это набор библиотек поддержки, которые можно использовать для того, чтобы приложения, разработанные с более новыми версиями, работали с более старыми версиями». Старые версии чего? На телефон нацелены? Среда разработки? Библиотеки? Я не понимаю

android support v7 appcompat

Mitch 16 май 2018, в 18:27

Телефон нацелен. Android работает на огромном количестве телефонов. Большинство из них работают в старых версиях, потому что производители телефонов не будут предоставлять клиенту надлежащие обновления платформы. Итак, приложение, которое работает на вашем устройстве Android O, должно также работать в телефоне, который работает на Android Kitkat.

В противном случае ваше приложение не будет охватывать большинство устройств. Тогда разработчик приложения должен позаботиться об этом. Проще говоря, AppCompat — это набор библиотек, обеспечивающих обратную совместимость.

Vishnu 17 май 2018, в 06:04
Показать ещё 2 комментария

Ещё вопросы

  • 0 Как центрировать [изображение + текст] неизвестной ширины?
  • 0 Цикл по 2 соответствующим массивам в PHP
  • 1 java.sql.SQLException: [Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию
  • 1 Как я могу векторизовать скалярное произведение в Python?
  • 1 Как добавить вторую шкалу к тепловой карте?
  • 1 Где поставить класс сканера
  • 0 Проблема для отображения данных в textarea, используя для каждого цикла в JSP
  • 0 Почему я пишу 0 байтов с помощью WriteFile?
  • 0 Опции ng не привязаны внутри модального диалога
  • 1 Лучший способ создать трехканальное изображение с фиксированным цветом?
  • 0 Сделайте ряд в угловой диаграмме Chantt кликабельным
  • 0 Странный Mysql запрос
  • 1 Датчик приближения в WPF
  • 1 Использование Matplotlib Slider для создания интерактивного графика с разными неравномерно распределенными параметрами
  • 1 Shopify API получить корзину с внешнего сайта
  • 1 Свойство List внутри модели обнуляется при отправке модели в контроллер
  • 0 Что с этим Странным Область Глобальной Переменной PHP?
  • 1 Валидатор для имени файла с пользовательскими словами в фигурных скобках
  • 1 Как удалить контакты на андроид 2.2?
  • 1 Чтение данных из задачи BackGround (Windows Phone)
  • 1 MVC получает доступ к общей службе WCF
  • 1 Управление вспышкой камеры Android [дубликаты]
  • 0 FAST DMA извлекает выгоду из FPGA, использующей потоки в C ++
  • 0 Добавить комментарий в листе с PHPEXCEL
  • 1 Переупорядочение столбцов Dataframe на основе подстрок в именах столбцов
  • 0 IE9 Фильтры в кнопках не отображают значение
  • 0 Общая сумма столбца с вычисленным выражением внутри Angularjs
  • 0 Аутентификация с помощью Doctrine в Zend Framework 2. Хорошие практики
  • 1 Как отфильтровать записи во фрейме данных с конкретными и разными значениями?
  • 1 Как добавить 1 рисунок с кнопкой в JFrame?
  • 0 используйте activecell, чтобы перейти на n строк ниже в PHPEXCEL
  • 0 EmberJS, jQuery UI и Grunt.
  • 0 HTML / CSS / PHP выбранной навигации
  • 0 Linux exec программа не получает выводимые значения
  • 0 href всплывающее окно не появляется Javascript
  • 0 jQuery добавить другой скрипт в div
  • 1 Получить пароль от аккаунта Android
  • 1 Разблокировка Pandas DataFrame с несколькими типами наблюдений для каждой переменной
  • 1 Что заменяет класс MongoDB AggregationOutput?
  • 1 Облачная служба Azure «Удаленный сервер возвратил ошибку: (413) слишком большой объект запроса».
  • 0 PHP рекурсивная функция в классе
  • 0 Ошибки игры C ++ Cootie
  • 1 для цикла добавления последнего извлеченного набора данных к каждой позиции в массиве
  • 1
  • 0 Как скрыть или отключить конкретный нг-повтор Div в конкретном профиле пользователя с помощью angullarjs?
  • 1 Создание значка строки меню без видимого работающего приложения, связанного с ним
  • 1 Создание exe из py, который по умолчанию передает arguemt на исполнение?
  • 0 переключить булево свойство в angular
  • 1 D3 пустые заполнители в scaleBand?
  • 0 Якорь на динамически создаваемой таблице

Источник: overcoder.net

Android Support Library: Consistent Design with AppCompat

AppCompat — что это за папка? (windows 7)

Приветствую друзья!

Сегодня будем разбираться с папкой AppCompat — моя задача выяснить для чего она, возможно ее вообще можно удалить? Обо всем разберемся))

AppCompat — что это такое?

В папке могут хранится данные телеметрии (которая выполняется вроде как через планировщик). Также может иметь отношение к совместимости операционки и приложений.

AppCompat расположена здесь:

Внутри как видите есть еще папки, например в appraiser и правда что-то есть связанное с телеметрией:

Вот например здесь хранятся какие-то логи:

На одном сайте написано что в папке AppCompat хранятся данные совместимости операционки с приложениями.

AppCompat — попытка удалить

Учитывая, что информации о папке нет никакой, именно абсолютно, тогда я принимаю решение — провести эксперимент и отключить папку принудительно. Посмотрим что из этого выйдет!

Читайте также:
Freedom vpn что это за программа

Итак, что я сделаю:

  1. У меня установлена бесплатная утилита Unlocker, она нужна чтобы удалить или переименовать заблокированные папки. Например системные, которой и является AppCompat.
  2. Мне нужно переименовать, но так, чтобы осталось оригинальное название. В таких случаях я просто добавляю символ нижнего пробела.
  3. Далее делаем перезагрузку.
  4. Проверяем работу ПК — все ли программы работают стабильно, а также нет ли ошибок.

Я перешел в папку:

Нажал правой кнопкой по AppCompat, выбрал пункт Unlocker:

Появилось маленькое окошко, там в менюшке слева нужно выбрать пункт Переименовать:

Потом указать новое имя — добавляю просто символ нижнего пробела (по факту и так получается новое название):

Нажимаю ОК. Потом снова ОК. Как и следовало ожидать — переименовать нельзя, потому что папка какой-то прогой используется, поэтому переименование будет после перезагрузки:

Ну а теперь как раз пора сделать перезагрузку))

Итак, после перезагрузки я вижу что и правда все переименовалось:

Дальше я запустил Хром, Мозиллу.. Оперу, Яндекс Браузер — все работает, поиск Windows тоже работает. В принципе никаких ошибок нет, поэтому можно сделать вывод, что переименовывать — вроде можно. А значит можно и удалить, но советую не делать этого сразу, мало ли))

Можно сделать вывод, что способ рабочий — AppCompat можно переименовать, а значит даже удалить. Поэтому: очень важно перед всеми этими делами сделать контрольную точку восстановления:

  1. Зажмите Win + R, напишите команду control или control panel, нажмите ОК.
  2. Появится окно со значками. Проверьте что в правом верхнем углу в меню Просмотр установлено Крупные значки.
  3. Теперь найдите значок Система, запустите > выберите Защита системы.
  4. Выберите системный диск (Система) и нажмите кнопку Создать. Если кнопка неактивна — нажмите сначала Настроить и включите защиту системы.
  5. Точку восстановления советую назвать До переименования AppCompat (или до удаления). После создания точки — можно переименовывать папку или даже удалить)) Разумеется все эти дела нужно делать утилитой Unlocker.

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

Заключение

Итак, какие выводы можно сделать:

  1. AppCompat — системная папка, точное предназначение неизвестно, но может хранить данные телеметрии, а также данные совместимости операционки и приложений.
  2. Лично пробовал переименовать, хотя это тоже самое что и удалить в нашей ситуации. Проблем либо ошибок мной замечено не было. Можете попробовать и вы, только сперва создав точку восстановления.

Надеюсь информация пригодилась. Удачи и добра, до новых встреч господа!

Источник: virtmachine.ru

AppCompat v21 — Material Design для пре-Lollipop устройств

image

17 октября был опубликован Android 5.0 SDK, который принес новые виджеты и материальный дизайн. Мы расширили библиотеки поддержки, чтобы вы могли использовать ваши последние разработки и на предыдущих версиях Android. Это изменения включают в себ крупное обновление для AppCompat, а так же библиотеки RecyclerView, CardView и Palette.

В этом посте мы взглянем, что нового появилось в AppCompat и как это использовать для поддержки материального дизайна в ваших приложениях.

Что нового в AppCompat?

Библиотека AppCompat (aka ActionBarCompat) появилась как порт нового ActionBar API из Android 4.0 на устройства с Gingerbread. Она представила общий слой API поверх бэкпортированной либо стандартной реализации. AppCompat v21 же приносит API и набор возможностей из Android 5.0

В этой версии Android появился новый виджет Toolbar. Он представляет собой обобщение шаблона ActionBar и дает больше контроля и гибкости. Toolbar — это элемент view в общей иерархии, что упрощает реализацию его взаимодействия с другими виджетами, анимации и реакции на события прокрутки. Так же вы можете использовать его как Actionbar вашей активности, а это значит, что стандартные элементы меню действий будут показываться в нем.

Вы, вероятно, уже пользовались какое-то время обновленной версией AppCompat. Эта библиотека была включена в обновления различных программ Google, вышедшие в последние недели, в том числе Play Маркет и Play Пресса. Кроме того, он был интегрирован в приложение Google I/O, изображенное выше, которое имеет открытый исходный код.

Установка

Если вы используете Gradle, просто добавьте appcompat как зависимость в ваш файл build.gradle:

dependencies

Новая интеграция
  • Все ваши активности должны наследоваться от ActionBarActivity, которая в свою очередь наследуется от FragmentActivity из библиотеки v4 support, поэтому вы можете продолжать использовать фрагменты.
  • Все вашим темы (которые включают Action Bar/Toolbar) должны наследоваться от Theme.AppCompat. Есть несколько вариантов тем, в том числе светлая (Light) и тема без панели действий (NoActionBar).
  • Когда внедряете что-то для отображения в панели (например, SpinnerAdater для навигации), удостоверьтесь, что используете контекст с темой панели, полученный с помощью getSupportActionBar().getThemedContext().
  • Вы должны использовать статические методы класса MenuItemCompat для вызовов MenuItem, относящимся к действиям.
Миграция с предыдущих версий

Для большинства приложений теперь вам достаточно одного объявления темы в values/:

Теперь вы можете убрать все стили ActionBar из values-v14+.

Темы оформления

AppCompat поддерживает новые атрибуты цветовой палитры, которые позволяют настроить тему под ваш брэнд, используя основной и акцентный цвета. Например:

Читайте также:
Скетч ап программа что это

Когда вы зададите эти аттрибуты, AppCompat автоматически применит их как значения атрибутов из API 21+. А это, в свою очередь, окрасит панель статуса и элемент в списке недавних задач.

На более старых платформах, AppCompat эмулирует цветовые темы, когда это возможно. В текущий момент, это ограничивается окрашиванием панели действий и некоторыми виджетами.

Тонировка виджетов

Когда вы запускаете приложение на устройстве с Android 5.0, все виджеты тонируются цветом, указанным в атрибутах темы. Есть две основные возможности, которые позволяют это делать на Lollipop: тонировка drawable и ссылки на аттрибуты тем (в формате ?attr/foo) внутри drawable.

AppCompat предлагает похожее поведение на ранних версиях Android для следующего множества UI виджетов:

  • Все, что предлагается в AppCompat toolbar (режимы действий и прочее)
  • EditText
  • Spinner
  • CheckBox
  • RadioButton
  • Switch (используйте новый класс android.support.v7.widget.SwitchCompat)
  • CheckedTextView

Виджет панели инструментов (Toolbar)

image

Toolbar полностью поддерживается библиотекой AppCompat и полностью полностью соответствует как по возможностям, так и по API вызовам, виджету из SDK. В AppCompat, панель инструментов реализуется с помощью класса android.support.v7.widget.Toolbar. Есть два способа её применения:

  • Использовать как ActionBar, если вы хотите использовать существующие возможности Action Bar (такие, как внедрение меню, выделение, ActionBarDrawerToggle и т.д.), но при этом хотите больше контроля над её внешним видом.
  • Использовать автономную панель в ситуациях, когда обычный ActionBar не подходит. Например, чтобы показать несколько панелей на экране, занять только часть экрана по ширине и т.д.

Action Bar

Чтобы использовать Toolbar в качестве ActionBar, во-первых, отключите обычный ActionBar. Самый простой способ сделать это — унаследовать вашу тему от Theme.AppCompat.NoActionBar (или светлого её варианта)

Во-вторых, создайте экземпляр панели инструментов. Например, включив её в ваш xml-файл разметки

Высота, ширина, фон и прочее теперь полностью зависят от вас, это просто хороший пример. Так как Toolbar — это просто ViewGourp, вы можете стилизовать и позиционировать его на своё усмотрение.

И наконец, установите Toolbar в качестве ActionBar в вашей активности или фрагменте:

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

Автономное использование

Отличие автономного режима в том, что вы не задаете Toolbar в качестве ActionBar. Поэтому, вы можете использовать любую тему AppCompat и вам не нужно отключать обычный ActionBar.

В автономном режиме вы можете наполнять Toolbar содержимым или действиями. Например, если вы хотите показать действия, вам нужно внедрить меню:

Есть множество других вещей, которые можно делать с панелью инструментов. Для получения дополнительной информации, смотрите описание Toolbar API.

Стили

Настройка стиля панели инструментов отличается от того, как это делалось для стандартной панели действий. Стиль применяется прямо к самому виджету.

Вот основной стиль, который вы должны использовать, когда вы используете Toolbar в качестве ActionBar:

Объявление app:theme позволит убедиться, что шрифт и элементы используют чистый цвет (например, 100% непрозрачный белый).

Темная панель действий
Вы можете настроить панель инструментов напрямую, используя атрибуты разметки. Чтобы Toolbar выглядела как «DarkActionBar» (тёмное содержимое, светлое меню переполнения), укажите атрибуты theme и popupTheme:

Виджет поиска (SearchView)

AppCompat предлагает обновленное API для виджета поиска, которое поддается большей настройке и стилизации. Теперь мы используем структуру стилей из Lollipop вместо старых searchView* аттрибутов темы.

Вот как вы можете настроить стиль SearchView:

Вам не нужно указывать все (или вообще какие-то) из аттрибутов. Значения по-умолчанию должны подойти большинству приложений.

Toolbar на подходе.

Надеюсь, эта статья поможет приступить к работе с AppCompat и позволит создать удивительные приложения в материальном стиле. Дайте знать в комментариях к оригинальной статье/Google+/Twitter, если у вас есть вопросы о AppCompat или о любой из поддерживаемых библиотек, или где мы можем предоставить больше документации

FAQ

  • У вас кастомизированная версия виджета (вы отнаследовали EditText)
  • Вы создаете EditText без использования LayoutInflater (например, вызвав new EditText())

Почему виджет X не имеет материального стиля на не-Lollipop устройствах?
Пока были обновлены только некоторые, самые распространенные виджеты. В будущих релизах будут добавлены другие.

Почему у моего Action Bar осталась тень на Android Lollipop? Я задал android:windowContentOverlay равный null.
На Lollipop тень под панелью создается с помощью нового API подъема. Чтобы убрать её, вам нужно вызвать getSupportActionBar().setElevation(0) или задать значение атрибута elevation в описании стиля Actionbar.

Почему нет ripple-анимации на устройствах до Lollipop?
Главное, что позволяет RippleDrawable анимироваться плавно в Android 5.0 — это новый RenderThread. Для оптимизации производительности на предыдущих версиях Android мы пока оставили RippleDrawable за бортом.

Как мне использовать AppCompat с Preferences?
Вы можете продолжать использовать PreferenceFragment в ActionBarActivity, когда запускаете приложение на устройстве с API v11+. Для устройств с предыдущей версией API вам придется использовать PreferenceActivity, которая не стилизована под материальный дизайн.

P.S. Это мой первый перевод, прошу писать в личку обо всех неточностях (особенно, что касается русских терминов)

  • material design
  • материальный дизайн
  • appcompat
  • android
  • android sdk
  • android development

Источник: habr.com

Библиотека AppCompat — в чём же её преимущества?

Минимальный требуемый уровень API у моего приложения — 16. Для создания Android-приложений я использую среду программирования Android Studio.

В предварительном просмотре компоновка выглядит так: AVD то есть, шрифт Russo One успешно был задан элементу TextView (путь к файлу шрифта: resfontsrusso_one.ttf ). Но на реальном телефоне всё выглядит иначе: REAL DEVICE Проблема в том, что шрифт не задаётся элементу TextView . Я решил данную проблему при помощи использования библиотеки AppCompat ( com.android.support ), а конкретно — при помощи замены компонента Activity на AppCompatActivity , и тогда шрифт был успешно задан элементу TextView . Но теперь проблема заключается в другом. До использования библиотеки AppCompat моё приложение весило ≈345 Кб.

Читайте также:
Программа самообеспечение что это

После того, как я добавил эту библиотеку в мой проект, приложение стало весить 2,6 Мб — это почти в 8 раз больше. Подскажите, используют ли эту библиотеку современные профессиональные программисты в своих Android-приложениях. В чём же заключается суть использования этой библиотеки?

В интернете нашёл не много информации о ней, многие лишь утверждали, что она помогает сохранять красивый одинаковый стиль приложений на более ранних версиях Android. У моего приложения я хочу задать минимальный требуемый уровень API 15. Стоит ли мне в данном случае пользоваться этой библиотекой и если стоит, то какими её преимуществами руководствоваться?

Очень мало русскоязычных справочников, документаций, форумов на эту тему в интернете я сумел найти. Может быть, лучше скопировать только определённые нужные мне классы из библиотеки AppCompat и вставить их в моё приложение? Ну, допустим, мне нужен только класс AppCompatActivity в данном случае, его я и скопирую в моё приложение в отдельный пакет. Я не пользуюсь классом, к примеру, FloatingActionButton , вот и не копировать его в моё приложение вовсе. Не плохо ли поступить именно так со всеми классами этой библиотеки?

  • android
  • android-appcompat
  • android-app-compat-activity

Отслеживать
задан 10 авг 2018 в 12:59
2,500 5 5 золотых знаков 28 28 серебряных знаков 55 55 бронзовых знаков

если вам нужен material design для API меньше 21, то вам необходимо использовать библиотеку AppCompat. Взять отдельные классы из нее и расчитывать, что это будет работать не стоит, но можете попробовать (ничего не получится). com.android.support — набор библиотек поддержки гугл, в котором их больше 20 штук. AppCompat только одна из них и «отвечает» за стиль Material на устройствах с API ниже 21. У каждой библиотеки есть вполне определенное название, которое известно всем, не надо придумывать им какие то свои, если хотите, чтобы вас понимали

10 авг 2018 в 13:09
10 авг 2018 в 13:10

AppCompat вполне достаточно, все знают названия библиотек поддержки. в библиотеке основной объем — ресурсы (собственно стиль Material), а не классы, так что их «выкидывание» в любом случае несущественно сократит объем

10 авг 2018 в 13:13
10 авг 2018 в 13:21

предварительный просмотр — штука не надёжная и опираться на то, что она показывает не стоит никогда. Смотреть надо всегда на реальном устройстве или эмуляторе — именно так и будет на самом деле. Темы нужно использовать полные, а не базовые, то есть — Theme.AppCompat.Light. базовая — каркас для нескольких тем и некоторых стилей не имеет.

10 авг 2018 в 21:53

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Класс Activity находится в стандартной библиотеке андроида на каждом девайсе. Засим не нужно подклчать к-л библиотеки для использования этого класса. Но в этом кроется главная проблема — эта библиотека обновляется только с обновлением ОС девайса, что происходит или редко или никогда. Таким образом использование Activity приведёт к тому, что на разных девайсах с разными версиями ОС (в т.ч. минорными) у вас будет разное поведение в разных местах, разные баги и большие проблемы с их воспроизведением и фиксом. И это не говоря о разном отображении одних и тех же элементов интерфейса.

Засим следует всегда использовать библиотеку поддержки и класс AppCompatActivity — так у вас на всех девайсах всех возможных версий будет одна и та же версия классов и бороться вам надо будет в случае чего не со всем зоопарком версий, а только с одной. Ну и интерфейс будет везде одинаково выглядеть.

Вот эта же инфа в документации (относительно использования Toolbar , но это относится и ко многим другим вещам, в частности к TextView , которое автоматически заменится на android.support.v7.widget.AppCompatTextView , в котором много улучшений и исправлений. В т.ч. со шрифтами):

Beginning with Android 3.0 (API level 11), all activities that use the default theme have an ActionBar as an app bar. However, app bar features have gradually been added to the native ActionBar over various Android releases. As a result, the native ActionBar behaves differently depending on what version of the Android system a device may be using. By contrast, the most recent features are added to the support library’s version of Toolbar, and they are available on any device that can use the support library.

For this reason, you should use the support library’s Toolbar class to implement your activities’ app bars.

Using the support library’s toolbar helps ensure that your app will have consistent behavior across the widest range of devices. For example, the Toolbar widget provides a material design experience on devices running Android 2.1 (API level 7) or later, but the native action bar doesn’t support material design unless the device is running Android 5.0 (API level 21) or later.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru