que pensamiento memoria etimologia especies especie español ejemplo críptico criptico criptica complejo android

pensamiento - Android: ¿Qué es R? ¿Por qué es tan críptico?



pensamiento criptico (3)

R es el nombre de tus recursos. Cualquier recurso al que acceda acceda por R.$FOLDER.$RESOURCE o algo muy similar. Si no se puede resolver, asegúrese de que la ruta sea correcta y que exista el recurso referenciado (distingue entre mayúsculas y minúsculas; incluya la extensión). Además, la parte confusa (para mí de todos modos) es que hay dos R diferentes. Si obtiene muchos errores de "No se puede resolver", intente ver lo que está importando. Intenta cambiarlo o eliminarlo. O puede intentar limpiar su proyecto (ADVERTENCIA: a veces eso empeora las cosas de lo que ya son).

He intentado duplicar el proyecto de ejemplo de NotePad de modo que si retoqué con los archivos de origen para aprender a través de la experimentación, los archivos de muestra originales no se verán afectados.

¡Ay, a pesar de seguir pasos muy limpios en un entorno prístino, R se volvió contra mí, again !

Obtuve unos 20 errores " R no se puede resolver en una variable" ...

Ahora, esto es como la captura 22: estoy tratando de estudiar la muestra de NotePad, de modo que tengo la oportunidad de entender qué es R. Pero a R no le gusto tanto, así que no me da la oportunidad de estudiar la muestra de NotePad.

Para colmo de males, cuando realizo Google for R obtengo resultados totalmente irrelevantes.

  1. ¿Qué es R ?
  2. ¿Por qué es tan críptico?
  3. ¿Por qué es siempre el primero que no se puede resolver?

Actualización: noté que en el proyecto HelloAndroid (versión de diseño XML), hay un archivo Java generado , llamado R.java . ¿Es esta la infame R de la que el constructor del proyecto se queja?


R es una clase que contiene las definiciones de todos los recursos de un paquete de aplicación particular . Está en el espacio de nombres del paquete de la aplicación .

Por ejemplo, si dice en su manifiesto que su nombre de paquete es com.foo.bar , se genera una clase R con los símbolos de todos sus recursos en com.foo.bar.R

En general, hay dos clases R las que tratará

  1. Los recursos del framework en android.R y
  2. Tu propio en tu espacio de nombres

Se llama R porque significa R recursos, y no tiene sentido hacer que las personas tipeen algo más, especialmente dado que es común terminar con nombres de símbolos bastante largos después de él, que pueden causar una buena cantidad de envoltura de línea.


Qué es R: No hay nada muy misterioso en R. Es solo una clase que tiene muchas subclases estáticas, la abre en eclipse y eche un vistazo (está bajo gen /).

Cada miembro de esta clase es una de dos cosas: 1) clases finales estáticas o 2) enteros finales estáticos que son únicos con respecto a los otros miembros de su clase.

¿Por qué es tan críptico? Es fácil confundirse porque R es generado automáticamente por la hormiga. Es críptico porque no debes "tocarlo" manualmente (por supuesto que puedes hacerlo, pero tus cambios se borrarán automáticamente al regenerarse). Es adicionalmente críptico porque a veces eclipse automáticamente importa el archivo R estándar de androides (como se discutió en las respuestas anteriores)

¿Por qué es siempre el primero que no se puede resolver? R sigue las reglas de las clases y paquetes de Java exactamente, no hay nada especial acerca de cómo R actúa con respecto a la importación. R se colocará automáticamente en el paquete especificado por la entrada del paquete en su archivo de manifiesto

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="package.which.will.contain.R.and.probably.the.main.package.in.the.application" android:versionName="8.6.2011" android:versionCode="1"> <uses-sdk android:minSdkVersion="13" />

Para ver a qué paquete pertenece su archivo R, abra la carpeta gen / en eclipse (vista de paquetes). Verá un paquete enumerado allí, tendrá el nombre que especificó en su manifiesto. Intente eliminarlo, volverá si todos sus recursos siguen las reglas correctas de nomenclatura y todos sus archivos xml siguen las reglas xml correctas y si la compilación se habilita automáticamente en eclipse.

La clave para entender el archivo R es darse cuenta de que está en el mismo paquete que las otras clases, a pesar de que está en un directorio diferente y luego de otros archivos que pertenecen a su paquete "principal". Una vez que comprenda esto y comprenda la sintaxis y la denominación de los archivos de recursos, la resolución de problemas con R es fácil.