Директива по импорту неиспользованной Android-студии Kotlin - PullRequest
0 голосов
/ 01 июля 2019

Переходя со Swift / iOS на android Kotlin и пытаясь понять, почему мой импорт становится «неиспользуемым».

Я пользуюсь книгой "Основы разработки Android Studio". Я думаю, что проблема заключается в том, что в книге они хотят, чтобы я создал действие «Исходный язык Java», но код в книге предназначен для Kotlin, а не для Java (я считаю ошибку в книге), потому что ни одно из утверждений в в примере для действия "Язык исходного кода Java" есть точка с запятой ";". Поэтому я решил вместо этого создать Kotlin.

Я почти уверен, что для "Исходного языка Java" код для импорта должен иметь точки с запятой, но в книге их нет.

ActivityA enter image description here

ActivityB enter image description here

1 Ответ

1 голос
/ 01 июля 2019

Если для импорта установлено значение unused, это означает, что классы импорта, которые этот импорт привносит в путь к классам, не используются в текущем файле / классе.

Давайте рассмотрим два примера из вашего скриншота:

View: На первом снимке экрана у вас есть ссылка на View в методе onClick(View view).

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

Intent: На первом снимке показан вызов конструктора для Intent (var i = Intent(...)...), указанный вызов исчез на втором снимке; нет необходимости хранить посылку.

Имейте в виду, что Kotlin делает много магического и синтаксического подслащивания за кадром и за его пределами, так что даже если вы можете использовать Представления и намерения, тот факт, что вам не нужно их печатать, означает, что вам также не нужен импорт.

Если Java (или Kotlin) должен получить к ним доступ, вам нужно будет его импортировать, и вы будете знать, когда это произойдет, потому что ваш код не будет компилироваться.

Теперь последнее synthetic... является частью расширений Kotlin (если я не ошибаюсь), и оно в основном ссылается на ваши виджеты / представления из макета.

В этом случае activity_b.xml вероятно. Вы больше не ссылаетесь на это в своем коде, поэтому импорт завершен.

Я рекомендую вам сделать control + alt + o (замените control на command, если вы работаете в MacOS, и помните, что alt называется option на оборудовании Mac), довольно часто. Это функция оптимизации импорта в Android Studio, которая очистит ее для вас:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...