Что такое «точка» при регистрации активности

Я вроде как программист для ОС Android. Я заметил, что в книгах, которые я читал, авторы поставили «точку» перед именем деятельности при регистрации своей деятельности в манифесте. Я просмотрел сайт разработчика Android, и я не могу понять, зачем нужна точка. «Точка» на самом деле сервер цели? Нужно ли мне это? Я привел пример ниже. Обратите внимание на «точку» перед «NewActivity»:

<activity android:name=".NewActivity"></activity> 

Solutions Collecting From Web of "Что такое «точка» при регистрации активности"

Как вы заметили, этот пункт не нужен, но в основном это означает: класс активности живет в одном пакете приложения. Итак, если ваш пакет приложений: com.my.package тогда:

  • .YourActivity означает, что ваш класс находится внутри com.my.package .
  • YourActivity означает, что ваш класс находится внутри com.my.package (как указано выше).
  • .activities.YourActivity означает, что ваш класс находится внутри com.my.package.activitites .
  • Вы даже можете сделать что-то вроде com.my.package.activities.YourActivity которое полезно, когда вы хотите иметь разные версии вашего приложения и использовать Ant для автоматического изменения ссылок на пакет.

http://developer.android.com/guide/topics/manifest/activity-element.html#nm

андроид: имя
Имя класса, реализующего действие, подкласс 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" .

Эта точка добавит ваш package в манифест приложения.

Если ваше имя пакета com.app.demo .

 <activity android:name=".HelloWorldActivity"> 

Это означает, что Activity находится внутри демонстрационного пакета.

Вы можете заменить это на

 <activity android:name="com.app.demo.HelloWorldActivity">