Виждали ли сте някога извадка от преки пътища в ежедневното си приложение? може би като Instagram, Discord, Medium и т.н. Те са предоставени, за да ни помогнат бързо да навигираме в конкретни функции, екрани или части в приложението, без да преминаваме през тях стъпка по стъпка.

В тази статия ще внедрим статичен пряк път стъпка по стъпка. Но преди да започнем да кодираме, трябва да знаем какво точно представлява този пряк път.

Преките пътища доставят специфични типове съдържание на вашите потребители, като им помагат за бърз достъп до части от вашето приложение.

Тип пряк път

Преките пътища имат три различни типа

  • Статични преки пътища
  • Динамични преки пътища
  • Фиксирани преки пътища

Статични преки пътища

Статичните преки пътища са набор от предварително дефинирани преки пътища, които са твърдо кодирани в приложенията, тези преки пътища са най-добри за приложения, които се свързват към съдържание, използвайки последователна структура. Например, ако потребителят иска да види своя календар по определен начин.

Динамични преки пътища

Динамичните преки пътища се използват за действия в приложения, които са чувствителни към контекста, това е като статичните преки пътища, но е динамично. Можем да добавим преки пътища, когато потребителят извършва някакво действие в приложенията. Например, ако потребител често посещава конкретна страница, ние можем динамично да добавим нов пряк път, за да помогнем на потребителя да навигира до същата страница.

Закачени преки пътища

Различни от статичните и динамичните преки пътища, които ще се показват, когато задържим иконата за стартиране. Фиксираните преки пътища ще се показват като нов стартер с фиксирана икона. Това е полезно, защото позволява на потребителите да извършват персонализирано действие.

Кой е най-добрият тип пряк път за прилагане в нашите приложения? Зависи от вашия случай на използване и дали контекстът на прекия път е управляван от приложение или потребител.

Внедряването на статични преки пътища е доста просто, просто трябва да добавим някои конфигурации, които ще свършат работа, интересно, нали? нека започнем да кодираме.

Стъпка 1: Създаване на нов проект

Създайте нов празен проект.

Стъпка 2: Създайте Android Resources Files (xml) в папка res/xml

Във вашата папка res/xml създайте нов файл с име shortcuts, както е показано по-долу.

Стъпка 3: Конфигурирайте манифеста

След като нашите shortcuts.xml бъдат генерирани, можем да преминем към манифеста на android, за да го конфигурираме чрез следната стъпка

  • Намерете дейност, чиито филтри за намерения са зададени на действието android.intent.action.Main и категорията android.intent.category.LAUNCHER в моя случай е в MainActivity.

  • Добавете елемент <meta-data> към тази дейност, като добавите стойност android:name и android:resource

Стъпка 4: Конфигурирайте файла с преки пътища

Следващата стъпка трябва да конфигурираме нашия shortcuts.xml. Тъй като това е XML файл, структурата ще следва йерархични елементи по подразбиране, както е показано по-долу

сложно? запазете спокойствие 🧘‍♀️ 🧘, ще обясня подробностите на кода по-горе. Първо, трябва да знаем, че shortcuts елементът root и shortcut е елементът, което означава, че в този пример имаме два статични преки пътища с две различни действия.

  • android:shortcutId е низов литерал, представляващ прекия път, когато обект ShortcutManager извършва операции върху него.
  • android:enable той определя дали потребителят може да взаимодейства с прекия път от поддържан стартер, стойността по подразбиране е true и ако я зададете false и искате да информирате потребителя защо този пряк път е деактивиран, можете да добавите просто съобщение, като използвате shortcutDisableMessage.
  • android:icon е bitmap или adaptive icon, което стартерът използва, когато показва преки пътища.
  • android:shortcutShortLabel разширена фраза, която описва целта на прекия път, този атрибут трябва да бъде низ за ресурси.

Вътрешни елементи

  • android:action е действие, което системата стартира, когато потребителят избере пряк път.
  • android:targetPackage пакет от нашето приложение.
  • android:targetClass е класът на приложението, към който пренасочва прекият път.

Трябва да предоставим стойност за android:shortcutId и android:shortcutShortLabel всички други стойности не са задължителни. Преките пътища се поддържат само от устройства с Android с API ниво 25 и по-високо, трябва да зададем minSdk в нашия Gradle файл на 25.

Стъпка 5: Създаване и актуализиране на оформлението

Както видяхме в shortcuts.xml, трябва да зададем целевия клас android:targetClass за нашия елемент за пряк път от горния пример, трябва да създадемDetailActivityOne и DetailActivityTwo, това, което трябва да направим, е да създадем както дейността, така и актуализирайте оформлението по този начин

Стъпка 6: Добавяне на нови ресурси за низове

Трябва да създадем нови ресурси за низове в нашия string.xmlфайл, този низ се използва за попълване на dataandroid:shortcutShortLabel в shortcuts.xml,отидете на res/values/string.xml и добавете нови низове.

Стъпка 7: Създайте и стартирайте приложение

Когато всички успешни процеси и вашият стартер на приложения се покажат, натиснете и задръжте вашия стартер на приложения и изгледът ще изглежда подобно на този.

Когато докоснете Детайл едно, приложенията ще се отворят и ще преминете към екрана с детайли едно, а когато докоснете Детайл две, ще отидете до екрана с детайли две.

Ето! Добавихте нов статичен пряк път към приложението си 🥳🎖. Можете да проверите подробния проект от това хранилище.