src / com.app.main && gen / com.app.main - это тот же пакет? - PullRequest
0 голосов
/ 01 февраля 2012

Когда мы создаем простое приложение для Android, мы можем найти MainActivity.java в src / com.app.main и R.java в gen /com.app.main (Также вы можете определить другое имя файла или пакета, но формат будет аналогичным).и из всех указаний, которые я нашел в коде, кажется, что src / com.app.main && gen / com.app.main означает один и тот же пакет.Зачем?Пакет IMO - это всего лишь папка, а MainActivity.java находится в папке src / com / app / main, R.java находится в папке gen / com / app / main, очевидно, это две разные папки, и я думаю, что две разные папкизначит два разных пакета, что-то не так?

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Есть две вещи: имя пакета Java в src /, а вторая - имя пакета приложения для Android.Структура папок в gen генерируется на основе имени пакета, определенного в файле манифеста.

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

0 голосов
/ 01 февраля 2012

Прежде всего, пакет не является папкой.Исходный файл принадлежит пакету, указанному в предложении package в первой строке этого файла.Создание структуры папок, которая соответствует структуре пакета, является простым соглашением.

Во-вторых, когда сопоставление папок с папками пакетов обрабатывается относительно их соответствующих базовых исходных папок.В вашем случае есть две папки с источниками: src для ваших источников и gen для сгенерированных источников, и обе папки содержат подпапки, которые соответствуют одному и тому же пакету.

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