Подтвердить что ты не робот

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

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

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

Ответ 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">