¿Para qué sirve el "punto" al registrar una actividad
Soy una especie de noob en la programación para el sistema operativo Android. He notado en los libros que he estado leyendo que los autores han colocado un "punto" delante del nombre de la actividad al registrar sus actividades en el manifiesto. He mirado alrededor del sitio de desarrolladores de Android y no puedo entender por qué necesitamos el "punto". ¿El "punto" sirve realmente un propósito? ¿Lo necesito? He incluido un ejemplo a continuación. Observe el "punto" antes de "NewActivity":
<activity android:name=".NewActivity"></activity>
- Ejemplo Xmlapter no funciona .contains (lector de contactos, feeds Rss, visualización de fotos)
- Andorid Deeplinking no funciona con múltiples esquemas
- ¿Por qué no puedo usar el atributo installLocation en el archivo Manifest?
- Evite codificar el modo de depuración; Advertencia en el manifiesto de Android
- Manejo de URL específicas con filtros de intenciones en Xamarin Mono para Android
- Deshágase de "El servicio exportado no requiere permiso" warning
- ¿Cómo agregar el requisito de tener una cámara de cara hacia atrás en el archivo de manifiesto?
- ¿Tiene android: versionName tiene que ser numérico (del formulario 0.0.0, etc.)?
- Actividad de inicio de Android sin crear una nueva instancia
- La lista de menús sale de la pantalla cuando anyDensity = "false"
- Tema de la aplicación de Android - diferencia al utilizar el tema del archivo de estilo xml
- ¿Dónde puedo obtener una lista de los permisos de Android
- Intent.getAction () devuelve NULL
Como usted ha notado el punto no es necesario, pero básicamente significa: la clase de actividad vive en el mismo paquete de la aplicación. Por lo tanto, si el paquete de la aplicación es: com.my.package
entonces:
-
.YourActivity
significa que tu clase está dentro decom.my.package
. -
YourActivity
significa que su clase está dentro decom.my.package
(igual que arriba). -
.activities.YourActivity
significa que su clase está dentro decom.my.package.activitites
. - Incluso puedes hacer algo como:
com.my.package.activities.YourActivity
que es útil cuando quieres tener diferentes versiones de tu aplicación y usar Ant para cambiar las referencias al paquete automáticamente.
http://developer.android.com/guide/topics/manifest/activity-element.html#nm
Android: nombre
El nombre de la clase que implementa la actividad, una subclase de Actividad. El valor del atributo debe ser un nombre de clase totalmente calificado (por ejemplo, "com.example.project.ExtracurricularActivity"). Sin embargo, como una abreviatura, si el primer carácter del nombre es un punto (por ejemplo, ".ExtracurricularActivity"), se agrega al nombre del paquete especificado en<manifest>
.
Así que dado ApplicationManifest.xml
:
<manifest ... package="com.stackoverflow.android.geotask" ...> <application ...> <activity android:name=".view.TaskListListView" ...> ... </application> </manifest>
Entonces desde android:name=".view.TaskListListView"
tiene un período inicial, por lo que se interpreta como android:name="com.stackoverflow.android.geotask.view.TaskListListView"
.
Ese punto agregará su package
en su manifiesto de aplicación.
Si el nombre del paquete es com.app.demo
.
<activity android:name=".HelloWorldActivity">
Significa que la Actividad se encuentra dentro del paquete de demostración.
Puedes reemplazar esto con
<activity android:name="com.app.demo.HelloWorldActivity">
- ¿Cómo implementar HorizontalScrollView como Galería?
- Diferencia entre getExternalFilesDir y getExternalStorageDirectory ()