Entender la clase R en Android
En android, no estoy seguro de entender la clase R
Estoy pasando por el ejemplo de sudoku, y tengo este fragmento de código:
switch (v.getId()) // the id of the argument passed is evaluated by switch statement { case R.id.about_button: // Intent i = new Intent(this, about.class); startActivity(i); break; // More buttons go here (if any) ... }
Soy completamente nuevo en Java, pero de lo que he visto parece que está tomando entrada (la pantalla táctil se está tocando el botón) y evaluar el argumento. A continuación, la instrucción de caso se configura si se reconoce el botón about y se crea una nueva pantalla de interfaz y se navega hacia el teléfono.
- Entender el Canvas.saveLayer de Android (...)
- ¿Dónde hay una lista de intentos disponibles en Android?
- ¿Por qué es el hilo principal VMWAIT-ing?
- No se puede leer / escribir en sdcard en Android
- ArrayList que contiene objetos arbitrarios
¿Es esto correcto?
Si tengo la esencia de que correcto, ¿por qué es el acuerdo con la clase "R"?
¿Por qué se le llama para reconocer el ID del botón?
Pensé que la super clase (en este proyecto) era la clase SudokuActivity.
- getBeaconParsers (). add throws java.lang.UnsupportedOperationException
- Vista previa de la cámara Android con filtro de color
- NoClassDefFoundError en tiempo de ejecución pero la clase está en classes.dex, ¿qué givies?
- Cómo convertir hora UTC a alguna otra zona horaria ("CST", "IST")
- Ahorro de grandes arreglos cortos android
- Los fragmentos de Android deben estar estáticos
- Ampliación de ObjectGraph con módulo de sustitución
- Android / ORMLite Insertar fila con ID
R.java
es la clase generada dinámicamente, creada durante el proceso de creación para identificar dinámicamente todos los activos (de cadenas a widgets de Android a diseños), para su uso en clases Java en la aplicación de Android. Tenga en cuenta que este R.java
es específico para Android (aunque puede ser capaz de duplicarlo para otras plataformas, es muy conveniente), por lo que no tiene mucho que ver con construcciones de lenguaje Java. Echa un vistazo aquí , para más detalles.
R
es una clase que contiene SOLAMENTE constantes públicas. (Final estático público).
Es una clase generada (por Android Plugin en Eclipse) que refleja los distintos valores que definió en el archivo res
.
Por ejemplo, usted debe tener algo como:
android:id="@+id/about_button"
En algún lugar de su archivo xml de diseño / menú en el proyecto, y una vez que escribió eso, Eclipse generará una constante en el archivo R (que puede encontrar en gen/PACKAGE/R.java
)
Lea la Guía de recursos de los desarrolladores de Android para obtener más información al respecto.
R
clase R
es generada por las herramientas de Android de tus recursos antes de compilar tu código. Contiene constante numérica asignada para cada recurso que puede consultar en su proyecto. Por ejemplo, tiene un archivo de recursos XML que contiene about_button
. Si no tenías clase R
, tendrías que usar una cadena "about_button" para referirte a ella en el código. Si comete un error en esta cadena, sólo aprenderá sobre ella cuando ejecute su aplicación. Con R
verá el error mucho antes en tiempo de compilación.
R
está estructurado de tal manera que usted puede referirse a los recursos a través de sus clases internas. Por ejemplo, R.id
contiene constantes de id y R.layout
contiene constantes de diseño.
- Android wait asynctask para terminar
- Android: recuperar el nombre del contacto desde el número de teléfono