Что такое "точка" при регистрации активности
Я как-то программист для Android для Android. Я заметил, что в книгах, которые я читал, авторы поставили "точку" перед именем деятельности при регистрации своей деятельности в манифесте. Я просмотрел сайт разработчика Android, и я не могу понять, почему нам нужна "точка". Действительно ли "точка" использует сервер? Нужно ли мне это? Я привел пример ниже. Обратите внимание на "точку" перед "NewActivity":
<activity android:name=".NewActivity"></activity>
Ответы
Ответ 1
Как вы заметили, пункт не нужен, но в основном это означает: класс активности живет в одном пакете приложения. Итак, если ваш пакет приложений: com.my.package
, то:
-
.YourActivity
означает, что ваш класс находится внутри com.my.package
.
-
YourActivity
означает, что ваш класс находится внутри com.my.package
(как указано выше).
-
.activities.YourActivity
означает, что ваш класс находится внутри com.my.package.activitites
.
- Вы можете даже сделать что-то вроде:
com.my.package.activities.YourActivity
, которое полезно, когда вы хотите иметь разные версии своего приложения и использовать Ant для автоматического изменения ссылок на пакет.
Ответ 2
http://developer.android.com/guide/topics/manifest/activity-element.html#nm
Android: имя
Имя класса, реализующего действие, подкласс Activity. Значение атрибута должно быть полностью квалифицированным именем класса (например, "com.example.project.ExtracurricularActivity" ). Однако, в качестве сокращенного обозначения, если первым символом имени является период (например, ".ExtracurricularActivity" ), он добавляется к имени пакета, указанному в <manifest>
.
Итак, задано ApplicationManifest.xml
:
<manifest
...
package="com.stackoverflow.android.geotask"
...>
<application ...>
<activity android:name=".view.TaskListListView" ...>
...
</application>
</manifest>
так как android:name=".view.TaskListListView"
имеет ведущий период, поэтому он интерпретируется как android:name="com.stackoverflow.android.geotask.view.TaskListListView"
.
Ответ 3
Эта точка добавит ваш package
в ваш манифест приложения.
Если ваше имя пакета com.app.demo
.
<activity android:name=".HelloWorldActivity">
Это означает, что Activity находится внутри демонстрационного пакета.
Вы можете заменить это на
<activity android:name="com.app.demo.HelloWorldActivity">