♪ (música robótica) ♪ Hola, ahora que sabes
exactamente qué es Android , creemos
nuestra primera aplicación en Android. Para crear eso, abrirá
su Android Studio y se le
presentará esta ventana. Y una vez que haya descargado todos los SDK, puede continuar
y diseñar su primera aplicación. Haga clic eniniciar un nuevo
proyecto de Android Studio. Aquí debe darle
un nombre a la aplicación. Permítanme llamarloMyHelloFirstApp. Y este es el nombre de dominio de su empresa , puede ser cualquier cosa que le gustaría que fuera. En mi caso, escom.example.demouser. Combinando el nombre de esta empresa
y el nombre de la aplicación, se formará el nombre de su paquete.
Asegúrese de que el nombre de este paquete sea único porque cuando vaya
a cargar su APK al final, Google Play Store verificará ese paquete APK. Si no es único,
en ese momento, es posible que desee cambiar
ese nombre de paquete. Si intenta poner este
com.example.demouser, Google ya lo ha tomado
, por ejemplo, no puede cargar una aplicación como esta. Supongamos que coloca
com.planet.MyHelloFirstApp y ese dominio también lo
toma otra persona, entonces no puede cargarlo. Tiene que ser único. A continuación, esta es la ubicación de su proyecto,
para nuestro propósito de ejemplo , usaremos
solo este nombre de paquete. Esta es la ubicación del proyecto,
donde se guardará nuestro proyecto.
Puedes cambiarlo si quieres.
Haga clic enSiguiente. Luego, debe seleccionar el
SDK mínimo y máximo aquí. El máximo por defecto será el más reciente que es 25 API
o si está usando 24, 24 API. Y luego habrá un mínimo
que tendrás que seleccionar. Podría haber bajado hasta nueve y, como puede ver, me enfocaré en aproximadamente el 100 % de los dispositivos, en
este momento, en el mercado. El problema aquí es que cuanto más bajo, más estoy sacrificando las funciones. PorqueGingerbreadno contendrá todas las características que
contiene mi Android API 25. Por supuesto, incluso si estoy seleccionando 15, 15 no contendrá todas las funciones que contiene mi API 25, ¿verdad? Pero hasta el 15, puedo obtener
la Biblioteca de soporte de Android, que es el apalancamiento externo
proporcionado por Android Framework y puede obtener esas bibliotecas para admitir esas
funciones hasta una versión.
No puedo obtener las bibliotecas de soporte a continuación, hasta la versión 2.3. Es por eso que también
debe hacer un balance, y puede ver que
mientras seleccionoAPI 15, todavía puedo apuntar al 97.4% de los dispositivos. Eso es bueno. Vaya aSiguiente, luego verá
todas estas plantillas , puede seleccionar cualquiera
de estas plantillas para comenzar el desarrollo de su aplicación Android
ya que estamos comenzando nuestra primera aplicación y vamos a comenzar desde cero. Daré clic enActividad vacía
y presionaréSiguiente. Dé el nombre de esa actividad, la
llamaré MainActivitysolamente. Eso es. Puede dar cualquier nombre, lo que quiera, esto asegurará
que está creando un nombre de actividad que es el archivo Java, más el diseño
que es el archivo XML. Creará un archivo de diseño,
si no lo desea, desmarque esto. Pero definitivamente también desea
la barra de la interfaz de usuario de su actividad, cómo se verá exactamente la
actividad en la pantalla. Quieres eso,. Y luego
se verifica lacompatibilidad con versiones anteriores. Activar esto significa que su actividad extenderá laactividad de AppCompat.
Si desmarca esto, su actividad extenderá laclase de actividad extendida. Por lo tanto, lacompatibilidad con versiones anterioreses para asegurarse de que incluso las versiones anteriores puedan acceder a las nuevas funciones que se encuentran en las nuevas versiones con la ayuda de las bibliotecas de soporte. Presiona enFinalizar. Deje que elGradleconstruya.
Gradlees una herramienta de construcción aquí que es utilizada por su sistema Android
para construir su aplicación. Por favor, espere a que
Gradle construya su proyecto primero. Si intenta seguir
haciendo clic aquí y allá, suGradlepodría bloquearse. Necesitas una máquina bastante rápida
para queGradleno falle.
Así que deje queGradleconstruya,
una vez queGradle , verá abajo "la indexación está hecha"
yGradleestá construido, después de eso, puede ver que
este es el archivo Java que esMainActivity,
la Actividad en el archivo Java, y esto es el archivo de diseño de la actividad. Ese es el archivo XML. Así es como se verá su primera aplicación
. Ahora, antes de hacer cualquier otra cosa,
permítanme ejecutar esta aplicación. Para ejecutar esta aplicación, en primer lugar , debe crear un dispositivo virtual. ¿Cómo se puede crear un dispositivo virtual? Existe este icono, administrador de AVD,
conocido como "Dispositivo virtual de Android".
Haz clic en eso. Ohabrá
undispositivo virtual predeterminado creado para usted por Android
o verá esta pantalla. Incluso puede eliminar esedispositivo virtual
y llegar a esta pantalla. Haga clic en este botón y seleccione uno de los dispositivos de resolución en los que desea trabajar. Eso es unNexus 5,
resolución de pantalla 1080×1920. Si quieres trabajar
con este tipo de resolución, adelante. O si desea trabajar
con cualquier otra resolución, también puede seleccionarla. PresionaSiguiente. Luego le pregunta cuál debería ser
la imagen de su sistema, qué imagen del sistema desea ejecutar
en su dispositivo virtual. Ahora bien, aquí solo te mostrará
las imágenes del sistema que descargaste, al momento de descargar
desde tu SDK manager. En el mío, pueden ver que hay
un 23 y un 25, así que optaré por el 25. También estoy usando
x86_64 con la API de Google. Si no desea utilizar esta API de Google , puede utilizar x86 normal, pero debe haber descargado
esa imagen del sistema aquí.
Otras imágenes. Cualquier ARM o imagen si también
quieres trabajar con eso. pero no recomendaría el ARM
ya que son muy lentos. Recomendaría
: estoy usando la última. Para la API de Google, presioneSiguiente. Puede dar el nombre
de su dispositivo o dispositivo virtual como desee,
digamosBlack_Knight_01 y presioneFinalizar. Aquí ves que mi dispositivo está listo, todo lo que tengo que hacer es presionar elbotón Reproducir. Botón de lanzamiento
y lanzará el emulador. Espere unos segundos y podrá ver que el emulador estará listo
y funcionando en un momento. Losemuladores x86 son mucho más rápidos
en comparación con su ARM. Si esto hubiera sido una máquina ARM , habría llevado mucho tiempo ejecutarla.
Esto no tardará apenas un minuto en encenderse y recomendaría
una vez que su emulador esté encendido, siempre que esté desarrollando,
no cierre su emulador. A menos que haya terminado por el día
o haya terminado con el desarrollo del día, ¿por qué? Porque cada vez que cierra
su emulador y lo vuelve a ejecutar , llevará el mismo
tiempo iniciar el emulador una y otra vez. Entonces, lo que puede hacer aquí
es simplemente ejecutarlo una vez y luego,
continuar ejecutando su aplicación desde su Android Studio e irán directamente
a su emulador. Por lo tanto, su emulador no tiene que reiniciarse
ni obtener los recursos nuevamente. ¿Cómo lo harás?
Como puede ver, mi emulador se está ejecutando.
Lo que haría para ejecutar mi aplicación está aquí, puede ver unbotón de
inicio del botón Reproducir o un botón de ejecución. Simplemente haga clic en eso. Mi Android Studio detectó automáticamente
que hay un dispositivo conectado a mí,
que se llamaBlack_Knight. Pulse en Aceptar. Y esta aplicación se ejecutará
en mi dispositivo Android. Solo espéralo,
Gradle comenzará a construir. Si hay algún error o algo así, eso también se detectará
en este momento. Aquí vamos. Así que esta es mi primera aplicación,
que he creado desde Android App Studio. Incluso si cierra su aplicación ahora
, va a sus aplicaciones , puede ver su aplicación aquí. Haces clic en esto, por lo que se comporta
como cualquier otra aplicación. Ahora, antes de avanzar más en Android, aprendamos un poco
sobre su ID de Android Studio, etc. La barra izquierda se conoce como panel de proyecto,
llegaremos a eso. Esta área central se conoce como área de código, o también puede crear su diseño
aquí arrastrando y soltando. La parte central se conoce como su consola.
Aquí es donde verás
lo que está pasando con tu Android. Acabo de ejecutar una aplicación aquí,
en mi dispositivo virtual Android. Así que me dio lo que estaba pasando,
este era el modo de ejecución, lo que estaba pasando
con mi aplicación en modo de ejecución. Pero puedes ir a tu monitor de Android,
también verás unlogcat. Logcatserá su amigo a lo largo del desarrollo de su aplicación Android
porque le dice lo que está pasando
en su dispositivo virtual Android. Bien, ahora puede ver aquí, esta parte aquí se conoce como panel de proyecto, en esto, lo que está viendo
es la clave de datos del proyecto de Android. Hablaremos de otra clave de datos del proyecto, pero cuando hablamos de la
clave de datos del proyecto de Android , verá que su proyecto
está dividido en dos partes, una es la carpeta de la aplicación y la otra
es lacarpeta del script de Gradle.
Hablemos
primero de la carpeta de secuencias de comandos deGradle. Cuando abrimos nuestroscript de Gradle
, verá que enGradle hay principalmente tres tipos
de archivos deGradle, uno se llamaProjectMyHello.Gradle, que no contendrá nada
más que la información sobre miversión de Gradle,
ya que puede ver quéGradlesoy.
usando ahora esGradle 2.2.2 e incluye todos los repositorios
en este proyecto. El segundoarchivo Gradleque veremos es el archivo Gradle de nivel de módulo. Como solo tengo el módulo móvil aquí,
solo hay uno. Si hubiera habido
undesgaste de Android , también habría un desgaste. Si hubiera TV,
también habría un archivo de módulo de TV.
Entonces solo hay uno,
lo que contiene exactamente contiene la información
de todo el módulo en sí. ¿Cuál es la versión mínima
de SDK que voy a usar, cuál es la versión de destino para este SDK, cuál es el ID de la aplicación, la versión de SDK de compilación,
por lo que toda esa información se incluirá
en este Gradle a nivel de módulo, incluso el dependencias que desea agregar,
que son bibliotecas y todo, eso también se agregará en esto. Como puede ver, hay muchas
bibliotecas en este momento. Estoy usando lasbibliotecas Espresso com y elsoporte com, también hay bibliotecas de soporte compactas de aplicaciones
, también estoy usando labiblioteca JUnit. Si desea agregar algún apalancamiento externo, también agregará
dependencias internas. Entonces, ese es el uso
delarchivo Gradle de compilación del módulo [inaudible] y le brinda información
sobre esos módulos en particular. Siguientearchivo settings.gradle , es nuevamente un archivo por aplicación. Le dice al compilador qué módulo debe formar parte de la compilación en un momento determinado.
Por ejemplo, si tienes
una mejor aplicación diseñada también
para tu móvil, TV y Wear, y tu TV y
Wear todavía no están completos para el nivel de producción. Luego, cuando su aplicación móvil
parausaresté completa, puede incluir el módulo
de móvil aquí solo. Así, móvil. Luego, el nombre delarchivo Gradle, como, en este momento, es laaplicaciónaquí
, será móvil. Y si también hay undesgaste, también
lo estaremos poniendo. Así:usar. Si hubiera undesgaste,
esa es la condición, que también haya unmódulo de desgaste.
De acuerdo, a partir de ahora,
no haydesgaste, por lo que es solo uno,
es por eso que este archivosetting-gradle contiene solo la aplicación porque ese es el único archivo Gradle que compilará
cada vez que lo ejecute. De acuerdo, genial, eso fuescripts de Gradle. Ahora hablemos de labarra de aplicaciones, en labarra de aplicacionesverá
principalmente tres carpetas. Primero está su proyecto de manifiesto. Dentro de este encontrará
un archivoandroid manifest.xml, este es el archivo
que entra en contacto con su dispositivo Android
por primera vez cuando instala su aplicación. Entonces, cuando esta aplicación
se instala en cualquier emulador o dispositivo, este es el archivo que entrará en contacto con su dispositivo Android
por primera vez. Lo que contiene exactamente
, contiene la información sobre la aplicación en sí,
como el nombre del paquete, cuál será el nombre de mi paquete, la información de la aplicación,
como cuántas pantallas o cuántas actividades contendrá.
Si hay más pantallas,
entonces debe registrarlas aquí, solo que, nuevamente, si hay otra actividad, habrá otra etiqueta de actividad. O si hay más
servicios, habrá más etiquetas de servicios. Y también incluirá el permiso,
digamos que su aplicación va a contener cualquier permiso
como permiso de Internet, permiso de acceso a netbook
o permiso de GPS. Debe declarar esos permisos
aquí dentro de este archivo de manifiesto solamente. Digamos, quiero incluir
el permiso de internet. Usaré este permiso, internet,
y listo. Así es como
también se agrega su permiso. Entonces ese fue el manifiesto de Android. En el archivo de manifiesto, puede ver que
hay muchos atributos, comoAllowBackup, que se asegurará de que su aplicación
sea compatible para realizar copias de seguridad. Y el atributo del icono aquí
es obtener el icono de@mipmap/ic_launcher.
Hablaré sobre este@mipmap en un momento, pero sepa que esto aquí
está obteniendo el icono… O este atributo de etiqueta también
está obteniendo el texto de su carpeta de recursos. Hablaremos de cómo está llegando allí. SupportRTLes nuevamente de derecha a izquierda, hay idiomas que van
de derecha a izquierda, por lo que esta aplicación
también admitirá el idioma RTL.
Y eltema, estoy obteniendo este estilo
de la carpeta de recursos , también hablaremos de eso, pero sepa que
estos atributos están configurando … Este está configurando el icono
de mi aplicación, este está configurando el nombre
o la etiqueta de mi aplicación y este está configurando el estilo
de mi aplicación. Ahora vayamos a nuestra carpeta Java. Cuando abra su carpeta Java
, encontrará tres paquetes.
El primer paquete se conoce
como paquete de desarrollo. El segundo paquete se conoce
como paquete de prueba de Android o paquete de prueba instrumentado. El tercer paquete se conoce
como paquete de pruebas unitarias. En el primer paquete de desarrollo pondrás todo el código
para el desarrollo de tu aplicación. Este es el paquete con el
que lidiará mucho cuando esté
desarrollando la aplicación de Android. Todas sus actividades, servicios, transmisiones, proveedores de contenido, clases de base de datos, todas esas clases se mantendrán dentro de
este paquete de desarrollo únicamente. Como puede ver,
solo hay una actividad en este momento, esa esMainActivity, si abre, así es como seve su MainActivity. Dentro de su
MainActivity, puede ver que la actividad no es más que una clase
que extiendeAppCompatActivity y estaAppCompatActivity
se hereda o se toma de
su biblioteca de soporte de Android.
Como puede ver,
AppCompatLibrary es importante para suandroid.support.v7. aplicación Ahora bien, si hubiera hecho actividad también, entonces, también sintácticamente,
no habría ningún problema porque, en última instancia,
esto es solo actividad, ¿verdad? Estoy diseñando para la última versión, entonces las características como el diseño de materiales, todas las características nuevas,
no serán compatibles con la versión anterior
si no están incluidas allí. Esa es la razón por la que quiero hacer AppCompatActivity
. Dentro de su actividad, puede ver que
hay un método que estoy usando, un método anulado llamado OnCreate, por lo que elmétodo OnCreate ya está definido dentro deAppCompatActivity
y solo lo estoy anulando.
Y dentro de esto, está
la primera declaración que estoy haciendo, que essuper.OnCreate. Super.OnCreatese asegurará de
que antes de hacer nada, antes de realizar cualquier personalización
en este método en particular, quiero usar todas las funcionalidades que estaban allí en mi actividad principal. No quiero
alterar la funcionalidad que me proporcionó mi clase de actividad,
la funcionalidadOnCreate que me proporcionó la
clase de actividad. Quiero eso. Además, si quiero alguna
de mis propias funciones , la incluiría
después de incluir esta declaración. Una vez que incluyo esto
, incluyo mi propia declaración que esSetContentView. Estoy proporcionando
una vista particular a mi actividad y eso también lo estoy haciendo
conR.layout.activity_main.
Solo por ahora, comprenda que
estoy adjuntando mi archivo de diseño aquí. Adjunto este archivo de diseño
como puede ver,Activity_Main, Activity_Main. Hablaré con más detalle en un momento sobre cómo se adjunta exactamente, pero puede ver queactivity_maines el archivo que se adjunta
a estaactividad principal en particularaquí ahora. Ese fue el paquete de desarrollo y ese fue elarchivo MainActivity. En otros paquetes como la prueba de Android , verá los archivos
que se usan para las pruebas de IU aquí, toda la clase de prueba de IU
se colocará dentro de esto: se colocarán todas laspruebas de clases de JUnit, todas las clases paraJUnit.
Así que esa era la carpeta de Java. Entonces, la carpeta Java
contendrá específicamente toda su barra de codificación. Ahora vayamos a lacarpeta res. Ahora, lacarpeta reses una carpeta muy importante en el desarrollo de su aplicación de Android porque el desarrollo de la aplicación de Android
no se trata solo de Java , incluye sus recursos
y pueden ser imágenes. Los recursos pueden ser archivos de diseño,
archivos XML, cualquierrecurso de valor que proporcione [codificado]. Así que hablemos de ellos con más detalle. Habrá unacarpeta res
y dentro de esacarpeta res habrá algunas
carpetas dedicadas comodrawable. Drawablees una carpeta que se utilizará
para incluir las imágenes.
En general, el dibujable: todas y cada una de las carpetas que diseñará
dentro de sucarpeta res tendrán un propósito específico. Entonces, el dibujable aquí
se usa para sus imágenes o si tiene animaciones, selectores. Para ese tipo de
cosas, usará eldrawable. Verá más
en las sesiones de su carpeta para qué
se puede usar exactamente esta carpeta dibujable. Por ahora, comprenda que todas las imágenes y partes de animación las pondrá aquí. Lo siguiente es sucarpeta de diseño. La carpeta de diseñoes una carpeta
donde proporcionará todo el diseño para su actividad. Toda la parte de la interfaz de usuario, cualquier diseño que
desee mostrar en su pantalla, esta es la carpeta
donde desea diseñar. Así que ese archivo que acabas de ver,
aquí es donde reside. Activity_Main.xml, cualquier archivo XML que esté viendo,
cualquier archivo de diseño que esté viendo , están en sucarpeta de diseño. Puede ver que este diseño aquí
es la pantalla de arrastrar y soltar. Eso se llama diseño,
allí puedes arrastrar cualquier botón ahora mismo y colocarlo donde quieras.
Esta es la barra de arrastrar y soltar,
cuando haga clic en la pestaña de texto aquí podrá ver
la parte de codificación y también la parte XML. Hablaremos sobre la parte de codificación y cómo puede manejar exactamente
estas partes XML para la sesión. Pero por ahora sepa que: en la carpeta de diseño,
existe todo el archivo de diseño y puede editar el diseño
de estos archivos XML con elEditor de diseño de la aplicación. El siguiente es sumapa mip. Mipmapes una carpeta que, nuevamente, se
usa solo para sus imágenes, pero aquí puede juntar las diferentes imágenes de resolución de pantalla
. Como puede ver, la imagen aquí
se conoce comoic_launcher.png. Todas y cada una de las imágenes
tienen el mismo nombre aquí, comoic_launcher.png… pero puedes ver que la diferencia
es la resolución. Habrá imágenes que serán– Esta imagen aquí es una imagen de píxel alto, luego hay una imagen de píxel extra alto, luego hay una imagen de píxel extra alto,
por lo que la resolución cambia.
Si tienes una imagen
de diferente resolución, la pondrás en el mipmap poniendo el mismo nombre. Si el nombre de mi imagen es logotipo y tengo cinco
resoluciones diferentes de logotipo , solo pondré el logotipo,
pero la resolución será diferente. Como uno tal vez 42×42, otro tal vez 72×72 y otro, tal vez,
extra alto 128×128. Entonces, automáticamente, creará una carpeta que definirá mi
imagen de píxeles de alta densidad de manera diferente, y los píxeles de densidad media de manera diferente, y la imagen de píxeles de densidad extra alta de manera
diferente. Entonces, ¿cuál es el uso de la misma? Si ejecuta su aplicación en cualquier dispositivo que use píxeles de densidad extra alta , no tiene que especificar
o ingresar el código que usa esta imagen. Ajustará automáticamente eso, "bien, este es mi
dispositivo de píxeles de alta densidad adicional". Seleccionará automáticamente
solo esta imagen. Eso fuemipmap. Ahora hablemos de valores,
ahora los valores son una carpeta donde generalmente colocas todos
los demás recursos que deseas mostrar o mostrar a los usuarios, como los colores.
Valoreses la carpeta donde desea definir sus diferentes recursos, para realizar la localización. Por lo tanto, no tiene que definir
esos recursos una y otra vez. Puede ser cualquier valor de cadena,
o cualquier título, o también cualquier color. Como puede ver, definí
unarchivo de color.xml porseparado y luego definí la etiqueta de color. Recuerde que cualquier recurso
que desee definir, primero debe usar la etiqueta de recurso. Así que ahora esto será un recurso,
este color será un recurso y el nombre del color por el cual
voy a acceder a él en cualquier lugar, ahora esColorPrimary. El uso de esto definirá los recursos, digamos, este es el color en este momento. Como puede ver, el color es 3F51B5. No tengo que recordar
este código de color o código hash una y otra vez.
Y puedo usar directamente esteColorPrimary
donde quiera usarlo. En un momento vamos a ver
cómo podemos usarlo exactamente. En los segundos usos,
digamos que mañana tu jefe dice "Quiero cambiar este color". En lugar deColorPrimary , define un color más aquí, y ese color esTitle_Color,
llamémoslo color. Usted define un color llamado 99ccc– Entonces, 99cc00. Bien, este es elcolor de mi título.
Digamos que mañana su jefe dice:
"vamos a cambiar el color de nuestro título". Por lo tanto, no tiene que ir
a todos y cada uno de los lugares donde usó este código hash. Si hubiera hecho un código duro aquí , tendría que cambiar el código hash
en todos y cada uno de los lugares. Aquí solo vas
a cambiar el color aquí y donde sea que hayas usado este nombre allí, todos esos lugares
recibirán los cambios.
Esa es la belleza de definir
los recursos aquí. Así que de esta manera tengo
que encontrar colores de recursos, solo que aquí puedes verColorPrimary ColorDark,ColorAccent
yColorTitle, ¿verdad? Una cosa más que quiero señalar aquí,
todo lo que pones en tu recurso, incluso una imagen, incluso un archivo de diseño,
incluso todos estos colores que estoy poniendo aquí ahora,
todo lo que pones en tucarpeta res , obtienen un registro. dentro de un archivo
llamadoarchivo Java de Android. El archivo Java de Androides
un archivo generado por el sistema que le
proporciona su propio sistema Android, o la propia aplicación de Android,
por lo que no tiene que crearlo, pero haga lo que haga dentro de lacarpeta res que tendrá entrada dentro
del disco -Archivo Java codificado.
A partir de ahora, el color
que acabo de definir , toda la entrada másActivityMain.xml
también debería tener una entrada y todos estosmipmap
también deberían tener una entrada. Comprobemos eso. No verá elarchivo R.java
dentro de su clave de datos de Android. Para ver eso, deberá cambiar
la clave de datos a paquete. y dentro del paquete,
este es su paquete de desarrollo.
Puede ver R, simplemente haga clic
en este archivoR.java y puede volver a Android ahora. Entonces, este es su Android
R.java, puede ver que el archivo en lacarpeta de compilaciónse genera
y no debe editarse. Por lo tanto, no debe manipular este archivo. Solo te muestro esto
para probar mi punto de que todo lo que pones dentro de
tucarpeta resestá registrado aquí. Así que voy a encontrar miActivityMainprimero. Cualquier cosa que coloque dentro de sucarpeta res se registrará dentro de
suarchivo R.java pero de la misma manera
que lo está definiendo. Al igual que su archivo de diseño
que esActivity_Main.xml, debe encontrar dentro de
una carpeta de diseño, por lo que estará dentro de sucarpeta R.java pero dentro de undiseño de clase.
Entonces…Disposición de la clase. Puede ver eldiseño de la clase
y luego, dentro de eso, el nombreActivityMain. [inaudible] Sí, ahí vamos.
Entonces puedes ver la entrada aquí ahora. De la misma manera, hablemos demipmap. Entonces,mipmap se registrará
dentro delarchivo R.java pero con laclase mipmap. Puede ver aquí enic_launcher. Principalmente esta es solo una imagen, ¿verdad? Entonces, con solo un nombre, por eso
solo hay una entrada. Acabo de guardar un montón de colores allí,
así que para ver los colores, ¿en qué clase se guardará?
Color.
Color de los recursos. Como puede ver, la etiqueta es de color aquí. Entonces, colorea. Y dentro del color ahora puedes averiguar cuál es el nombre con el que guardaste. ColorPrimary, ColorDark,
ColorAccentyTitle_Color. Entonces, solo tiene que averiguar
ColorPrimary, ColorDark… Sí, vea,ColorPrimary, ColorDark,
ColorPrimary Dark y elTítulo. Incluí el mío propio,TitleColor. Por lo tanto, estará en algún lugar por aquí. Si algo no está allí
, incluso puede reconstruir su proyecto y sincronizarlo ahora. Bien, ahora encuentra color, clase, color. Así que ya hemos visto
queColorPrimary, ColorDark. Lo siento, color. ColorPrimary, ColorDark,
ColorAccent,ColorPrimary Dark Y estáTitleColor.
Sí, ahí vamos. TitleColor, que guardamos aquí, ¿verdad? Entonces, cualquier recurso que cree,
habrá una entrada. Ahora puedes ver… De la misma manera hay
una carpeta de dimensiones o carpeta de dimensiones. En cuyo interior vamos definiendo unos espacios. Las cotasse utilizan para definir espacios en blanco y poner algún margen horizontal.
Eso es 16dp para el tamaño de pantalla predeterminado. Pero si el mismo tamaño de pantalla es una tableta, o un tamaño de pantalla con una pantalla de 7 pulgadas,
o una pantalla de 10 pulgadas, el mismo margen horizontal se convertirá en 64. ¿Puedes ver eso?
El nombre deActivity_Horizontal_Margin es el mismo queActivity_Horizontal_Margin. Entonces, Android detectará automáticamente
qué dispositivo está ejecutando, ya sea una tableta o un dispositivo. En consecuencia, elegirá uno
de estos recursos cada vez que se utilicen. Todavía necesito decirte
cómo usar estos recursos pero… Sepa que esto obtendrá una entrada
dentro de suarchivo R.java Dimens… Sí, puede verlo. Habrá unaactividad_… Sí.Actividad_Margen_horizontal y_Vertical. Siguiente…Cadena. Así que puedes ver aquí que
también hay una cadena. He creado una cadena de recursos
con el nombre de la aplicación My-Hello-First-App. La razón aquí es… Ver aquí. Cada vez que abra su aplicación , verá estaprimera aplicación My Hello porque tiene que encontrarla aquí. Ahora, veamos cómo uso exactamente esto, cómo uso exactamente mis recursos. Debe haber visto en su archivo de manifiesto, cuando va a su archivo de manifiesto,
le dije que el icono: este icono se usa para configurar mi icono.
Pero, cómo exactamente, está configurando mi ícono porque hay@mipmap/ic_launcher, por lo que@mipmapsignifica que
voy o me refiero a miclase mipmap. @ enprimer lugar,
hablemos de lo que es@. Si está definiendo o si está
accediendo a sus recursos Si desea acceder a un recurso, ¿
mipmapes qué? Un recurso. Si desea acceder a un recurso
dentro de un archivo XML , usará@para indicar
suarchivo R.java. Esta@ eneste momento denota
o se refiere a miR.java. Entonces, ¿la primera declaración hará qué? @ eso significa que va alarchivo R.java y dentro delarchivo R.java, ¿conqué clase
quiero continuar? Eso esmipmap. Entonces comenzará a buscar la
clase mipmap. Entonces, dentro demipmap, ¿
qué archivo quiere?Ic_launcher Entonces, ¿hay unic_launcher? Sí. Esa es la razón por la que
pudo ver el ícono aquí. Pudiste ver este icono. Si desea cambiar el ícono,
simplemente dé otro ícono. Si tiene alguna otra imagen aquí, puede dar cualquier otra imagen
y el ícono cambiará. Permítanme verificar
si tengo alguna otra imagen : déjenme copiar esto
y pegarlo aquí dentro deldibujable.
Lo estoy poniendo endibujable,
pero también puedes ponerlo enmipmap, si tienes más de un ícono o un tamaño de resolución diferente
de la misma imagen. Entonces, si lo estoy refiriendo
desdedrawable, esta vez, ¿cómo, exactamente, lo estaré refiriendo? Nuevamente, vaya al archivo
R.java usando @, pero esta vez no usaré
mipmap, usarédrawable. Puedes ver en eldibujo que
hay un ícono de perro. Entonces, si ejecuto esto… Solo asegúrese de que si está usando íconos, esos íconos deberían ser
realmente compatibles con el tamaño del ícono.
No puede esperar que un icono de tamaño grande o una imagen grande se convierta en un icono. Así que no sé si mi imagen
es en realidad un icono… sí. Era compatible con eso. Entonces puede ver aquí, la
aplicación My Hello, ahora el ícono ha cambiado. Entonces de esta manera puedes usar los recursos. Cada vez que desee usar un
recurso dentro de unacarpeta res , usará@
y elnombre de la clase. Entonces, de la misma manera, puede ver laetiqueta. Labeles uno de los títulos que ves aquí. Como puede ver, tengoMyHelloFirstApp cómo exactamente está recogiendo
@stringen la carpeta de recursos, hay unacadena.
unacadena @. Y dentro de lacadena
hay un nombreApp_Name. ¿Definí este recurso? Sí. Puede ver en estacadena
, definícadena y lacadenaesapp_name. Si cambio esto aquí… Primera aplicación. Así que ahora no tengo
que preocuparme por cambiarlo allí. Se cambiará automáticamente y cada vez
que abra su aplicación ahora , aparecerá el títuloPrimera aplicación, en
lugar deMyHelloFirstApp. Entonces vesPrimera aplicación.
Ahí tienes Así que espero que esto aclare las cosas de la misma manera que puede
verificar todos estos estilos. El estilo teda– El estiloes, de nuevo, uno de los recursos que te dice cómo
se verá exactamente tu aplicación, entonces, en este estilo en particular
puedes ver que estoy usando un tema.
Ese tema también es
Theme.AppCompat.Light.DarkActionBar. Ahora bien, esteappcompates muy crucial porque en su Java o en su Actividad está utilizandoAppCompat Activity. Si estuviera usando
unarchivo de actividad normalaquí, ahora, en ese momento,
la sintaxis es correcta, pero cuando ejecute esta aplicación, el tema no será compatible
con [fuente]. La interfaz de usuario que desea no es la… Es posible que no obtenga la misma interfaz de usuario que desea. Si está utilizando
Actividad, de acuerdo con esa Actividad, habrá un tema diferente. Así que estoy usandoAppCompat, así que paraAppCompat,
estoy usando eltema AppCompat. Barra de acción clara y oscura. Y pueden ver que lo estoy
personalizando usando uno de los artículos.
Voy a personalizar uno de los elementos
conocidos comoColorPrimary. Y aquí puedes ver queAsset
es un archivo XML, ¿verdad? Así que no usaré colores , será@color/colorprimary. Ya he definido un@color. ¿No está en el archivo de color?
@color, archivo de color– ¡Genial! De la misma manera
estoy personalizando otros también… Digamos que no
quiero poner color primario, quiero usar mi color
que acabo de definir. Entonces estitle_color. Así que ahora, si ejecuta
esto, podrá ver que el color ha cambiado. Así es como funciona su recurso
de archivo en su Android.
Así es como accede a su
archivo de recursos dentro del XML. Eso es usando @. Si desea acceder a
su archivo de recursos en su Java: como puede ver,
adjunté este diseño, adjunté este archivo que
se define enDiseño dentro de mi archivo Java,
dentro de miActividad con la ayuda del archivo de recursos únicamente. Entonces, si está accediendo a unarchivo R.java dentro de su carpeta Java, entonces usará.operator . Puede ver, nuevamente, estoy usando
R, esta vez no @ R, luegopuntoy luego,
el nombre de clase que esdiseño. Y luego, el nombre del archivo
que desea procesar. Así es como accederás a él. Bien, esa fue una descripción general de Android Studio
y la clave de datos del proyecto. ¿Y cuáles son los diferentes componentes
que ves en tu estudio de Android? Espero que esto te ayude
a comprender mejor tu Android Studio. En sesiones posteriores, aprenderemos más
sobre el diseño de interfaces de usuario y cómo podemos trabajar exactamente
con nuestras pantallas y todo. Eso es todo, por mi parte,
una introducción a Android Studio y Android.
Gracias ♪ (música robótica) ♪.