Це хитрість, про яку я дізнався нещодавно у Senior Android розробника у моїй компанії, і тепер я відчуваю себе нещасним, шкодуючи про час, який я провів в очікуванні складання Gradle, щоб перевірити свої зміни при написанні Android додатків.
Ось типовий сценарій, який кожен Android розробник міг би зустріти, принаймні, один раз протягом свого життєвого циклу розробки. У вас є список елементів, які ви хочете показати в ListView або RecyclerView.
Нижче наведено наш улюблений метод onBindViewHolder
, який пов’язує вашу модель з вашими view-компонентами RecyclerView.
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
final String name = values.get(position);
holder.txtHeader.setText(name);
holder.txtFooter.setText("Footer:" + name);
}
Тепер, припустимо, ви захотіли змінити колір тексту для кожного третього елемента в списку. Таким чином, код буде виглядати приблизно так:
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
final String name = values.get(position);
holder.txtHeader.setText(name);
if (position % 3 == 0) {
holder.txtHeader.setTextColor(Color.GREEN);
}
holder.txtFooter.setText("Footer:" + name);
}
Потім ви натиснете Run і дочекаєтеся завершення збирання і побачите ваші зміни, так?
Тепер ви б подумали, існує інший шлях для досягнення цієї мети?
Твій вихід, Android Studio! Так, нам не потрібен зовнішній плагін інструмент для досягнення вищезазначеної завдання і більше того, нам навіть не доведеться заново збирати проект. Ви не помилилися, ми обійдемося без Gradle 🙂 Ось як!
Крок 1 — Необхідно визначити конфігурацію запуску
Така конфігурація запуску дозволить нам запускати наш додаток і приєднувати до нього відладчик з Android Studio, а також ви зможете приєднати його до вже запущеного процесу.
Натисніть Run → Edit Configurations.
У верхньому лівому куті діалогового вікна клацніть значок «+» і виберіть Android App.
Тепер дайте йому ім’я, мені подобається називати його Run-Only, але ви можете називати його як завгодно.
Виберіть модуль, який містить код вашої програми, у наведеному нижче скріншоті він називається app.
Важливий крок:
У розділі Installation Options виберіть Nothing;
У Launch Options виберіть Default Activity;
У розділі Before Launch видаліть Gradle-aware Make.
Таким чином, конфігурація повинна виглядати наступним чином:
Тепер ви можете застосувати і зберегти цю конфігурацію. Зараз вона повинна бути обрана автоматично. Якщо немає, то просто виберіть її зі списку.
Тепер поставте breakpoint ближче до адреси, яку ви хочете перевірити. У нашому випадку ми розмістимо її там, де ми встановлюємо текст.
Клацніть правою кнопкою миші на breakpoint і зніміть прапорець Suspend (рос. призупинити).
Як тільки ви знімете позначку, діалог розшириться і покаже більше опцій.
Нам цікавий розділ Evaluate and log. Ми напишемо там вираз, щоб перевірити зміни в нашому елементі RecyclerView. Натисніть на маленький значок блакитного кольору праворуч від поля вводу Evaluate and log, щоб розгорнути його до більш великого редактора, і додайте вираз для тестування, і натисніть Ok, а потім Done.
Тепер натисніть на іконку Debug з обраної конфігурацією Run-Only і подивіться на цю магію.
Додаток має запуститися з вашої Activity за замовчуванням, і ви повинні побачити внесені зміни. Також, якщо ви приділяєте пильну увагу IDE, в самому низу ви побачите тільки одну запускається завдання: Launching Activity.
Хотілося б почути ваші враження, коли ви використаєте цю хитрість!