♪ (música robótica) ♪ Hola, ahora que sabes
exactamente qué es Android, creemos
nuestra primera aplicación en Android. Para crear eso, abrirás
tu Android Studio y se te presentará
esta ventana. Y una vez que haya descargado todos los SDK, podrá 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. Déjame llamarloMyHelloFirstApp. Y este es el nombre de dominio de su empresa, puede ser cualquier cosa que desee. 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
cargue su APK al final, su Google Play Store verificará ese paquete APK. Si no es único,
en ese momento es posible que desee cambiar
el nombre del paquete. Si intentas poner este
com.example.demouser, ya ha sido tomado
por Google, por ejemplo, no puedes cargar una aplicación como esta. Digamos que pones
com.planet.MyHelloFirstApp y ese dominio también lo toma
otra persona, entonces no puedes cargarlo. Tiene que ser único. A continuación, esta es la ubicación de su proyecto;
para nuestro ejemplo, usaremos
este nombre de paquete únicamente. Esta es la ubicación del proyecto,
donde se guardará nuestro proyecto. Puedes cambiarlo si quieres.
Haga clic enSiguiente. Luego debes seleccionar el
SDK mínimo y máximo aquí. El máximo de forma predeterminada será el más reciente, que es 25 API
o, si estás usando 24, 24 API.
Y luego habrá un mínimo que
tendrás que seleccionar. Podría haber bajado hasta nueve y como pueden ver, me centraré en aproximadamente el 100% de los dispositivos,
en este momento, en el mercado. El problema aquí es que cuanto más bajo, más sacrifico las funciones. Porque Gingerbreadno contendrá todas las funciones que
contiene mi API 25 de Android. Por supuesto, incluso si selecciono 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 el marco de Android y puedes obtener esas bibliotecas para admitir esas funciones
hasta una versión.
No puedo obtener bibliotecas de soporte a continuación, hasta la versión 2.3. Por eso
también es necesario hacer un equilibrio, y pueden 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 de Android,
ya que estamos iniciando nuestra primera aplicación y comenzaremos desde cero. Haré clic enActividad vacía
y presionaréSiguiente.
Da el nombre de esa actividad,
la llamaréMainActivityúnicamente. Eso es todo. Puede dar cualquier nombre, el que desee, esto garantizará que
esté creando un nombre de actividad que sea el archivo Java, además del diseño
que es el archivo XML. Creará un archivo de diseño;
si no lo desea, desmarque esta opción. Pero definitivamente
también quieres la barra de interfaz de usuario de tu actividad, cómo se verá exactamente la actividad
en la pantalla. Quieres eso,. Y luego se
comprueba la compatibilidad con versiones anteriores. Activar esto significa que su actividad ampliará laactividad de AppCompat. Si desmarcas esta opción, tu actividad ampliará laclase de actividad extendida. Por lo tanto, lacompatibilidad con versiones anterioresgarantiza 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. PresioneFinalizar. Deja que Gradleconstruya.
Gradlees una herramienta de creación que utiliza su sistema Android
para crear su aplicación.
Espere a queGradle
construya su proyecto primero. Si intentas seguir
haciendo clic aquí y allá, tuGradlepodría fallar. Necesitas una máquina bastante rápida
para queGradleno falle. Entonces, deje queGradle seconstruya,
una vez que Gradle; verá a continuación "la indexación está completa"
yGradleestá compilado, después de eso, puede ver que
este es el archivo Java que esMainActivity,
el archivo Actividad en Java, y este es el archivo de diseño de la actividad. Ese es el archivo XML. Así se verá tu primera aplicación
. Ahora, antes de hacer cualquier otra cosa,
déjame ejecutar esta aplicación. Para ejecutar esta aplicación, primero que nada, necesita crear un dispositivo virtual. ¿ Cómo se puede crear un dispositivo virtual? Existe este ícono, administrador AVD,
conocido como "Dispositivo virtual Android". Haga clic en eso. O habrá
undispositivo virtual predeterminado creado para usted por Android
o verá esta pantalla.
Incluso puedes eliminar esedispositivo virtual
y llegar a esta pantalla. Haga clic en este botón y seleccione uno de los dispositivos de resolución en el que desea trabajar. 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. PulsaSiguiente. Luego le pregunta cuál debería ser la
imagen de su sistema, qué imagen del sistema desea ejecutar
en su dispositivo virtual. Ahora, aquí solo le mostrará
las imágenes del sistema que descargó, al momento de descargarlas
desde su administrador de SDK. En el mío, puedes ver que hay
un 23 y un 25, así que usaré 25. También estoy usandox86_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 quieres
trabajar con eso también. pero no recomendaría ARM
porque son muy lentos. Lo recomendaría:
estoy usando la última versión. Para la API de Google, presioneSiguiente. Puedes darle el nombre
de tu dispositivo o dispositivo virtual como quieras,
digamosBlack_Knight_01 y presionarFinalizar. Aquí ves que mi dispositivo está listo, todo lo que tengo que hacer es presionar elbotón Reproducir. Botón de inicio
y se iniciará el emulador. Espere unos segundos y podrá ver que el emulador estará
funcionando en un momento. Los emuladores x86 son mucho más rápidos
en comparación con tu ARM. Si hubiera sido una máquina ARM, habría tardado mucho en ejecutarse. Esto no tardará apenas un minuto en encenderse y recomendaría que
una vez que el emulador esté encendido, siempre que estés desarrollando,
no lo cierres. A menos que haya terminado por el día
o haya terminado con el desarrollo del día, ¿por qué? Porque cada vez que cierras el
emulador y lo ejecutas nuevamente, tomará 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 y se dirigirán directamente a
su emulador. Para que su emulador no tenga 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 el
botón de inicio de Reproducir o el botón de ejecutar. Simplemente haga clic en eso. Mi Android Studio detectó automáticamente
que hay un dispositivo conectado a mí,
que se llamaBlack_Knight. Presione Aceptar. Y esta aplicación se ejecutará
en mi dispositivo Android. Espere,
Gradlecomenzará a construir. Si hay algún error o algo así, eso también se detectará
en este momento. Aquí vamos. Esta es mi primera aplicación,
que creé desde Android App Studio. Incluso si cierras tu aplicación ahora,
vas a tus aplicaciones, puedes ver tu aplicación aquí. Si haces clic en esto, se comportará
como cualquier otra aplicación. Ahora, antes de continuar con 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 intermedia se conoce como área de código, o también puedes crear tu diseño aquí
arrastrando y soltando. La parte central se conoce como 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. Entonces 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 y
también verás unlogcat. Logcatserá su amigo durante el desarrollo de su aplicación Android
porque le indica lo que sucede
en su dispositivo virtual Android. Bien, ahora puedes ver aquí, esta parte aquí se conoce como panel de proyecto, en esto, lo que estás viendo
es la clave de datos del proyecto de Android. Hablaremos de otra clave de datos del proyecto, pero cuando hablemos de la
clave de datos del proyecto de Android, verá que su proyecto
está dividido en dos partes, una es la carpeta de su aplicación y la otra
es lacarpeta del script Gradle.
Primero hablemos de la
carpeta de secuencias de comandos de Gradle. Cuando abramos nuestroscript Gradle,
verá que enGradle hay principalmente tres tipos
dearchivos Gradle, uno se llamaProjectMyHello.Gradle que no contendrá nada
más que información sobre mi versión deGradle,
ya que puede ver quéGradlesoy. El uso
actual esGradle 2.2.2 e incluye todos los repositorios
en este proyecto. El segundoarchivo Gradleque veremos es el archivo Gradle a nivel de módulo. Como solo tengo el módulo móvil aquí,
solo hay uno. Si hubiera habido
un desgaste de Android, entonces también lo habría. 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.
¿Cuál es la versión mínima
del 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 del SDK de compilación,
por lo que toda esa información se incluirá
en este Gradle a nivel de módulo, incluso el Las dependencias que desea agregar, es decir,
bibliotecas y todo, también se agregarán en esto. Como puede ver, hay tantas
bibliotecas en este momento. Estoy usando lasbibliotecas Espresso com y elsoporte com, también hay bibliotecas de soporte compacto para aplicaciones,
también estoy usando la biblioteca JUnit. Si desea agregar algún apalancamiento externo, también agregará
dependencias internas. Entonces, para eso se utiliza
el módulo decompilación Gradle, lo archiva [inaudible] y le brinda la información
sobre esos módulos en particular.
El siguientearchivo settings.gradle, nuevamente es 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 aplicación mejor diseñada también
para tu móvil, TV y Wear, y tu TV y Wear
aún no están completos para el nivel de producción. Luego, cuando su aplicación móvil
esté completa, podrá incluir el módulo
de dispositivo móvil aquí únicamente. Así, móvil. Luego, el nombre delarchivo Gradle, como, ahora mismo, suaplicaciónaquí,
será móvil. Y si también hay desgaste,
entonces nosotros también estaremos desgastando.
Así:usa. Si hubiera desgaste,
esa es la condición, que también haya unmódulo de desgaste. Bien, a partir de ahora,
no haydesgaste, por lo que es solo uno,
es por eso que este archivo deconfiguración-gradle contiene solo la aplicación porque ese es el únicoarchivo Gradle que compilará
cada vez que lo ejecute. Bien, genial, esos fueron losscripts de Gradle. Ahora hablemos de labarra de aplicaciones, en labarra de aplicacionesverás
principalmente tres carpetas.
Primero está tu proyecto manifiesto. Dentro de esto 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 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 tienes que 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 contendrá 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 únicamente.
Digamos que 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 seasegurará de que su aplicación
sea compatible para realizar copias de seguridad. Y el atributo de ícono aquí
es obtener el ícono de@mipmap/ic_launcher. Hablaré de este@mipmapen un momento, pero sepa que esto de aquí
está obteniendo el ícono… O este atributo de etiqueta también
está obteniendo el texto de su carpeta de recursos.
Hablaremos de cómo está llegando allí. SupportRTLvuelve a ser de derecha a izquierda, hay idiomas que van
de derecha a izquierda, por lo que esta aplicación
también admitirá el lenguaje RTL. Ytema, obtengo este estilo
de la carpeta de recursos, hablaremos de eso también, pero sepa que
estos atributos se están configurando… Este está configurando el ícono
para mi aplicación, este está configurando el nombre
o la etiqueta de mi aplicación y éste 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 prueba unitaria. 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
trabajará mucho cuando
desarrolle aplicaciones para Android. Todas sus actividades, servicios, transmisiones, proveedores de contenido, clases de bases 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 se ve suMainActivity. Dentro deMainActivity,
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 también hubiera realizado actividad, 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 funciones como Material Design y todas las funciones 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 llamadoOnCreate, por lo que elmétodo OnCreate ya está definido dentro deAppCompatActivity
y simplemente 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 cualquier cosa, antes de realizar cualquier personalización
en este método en particular, quiero usar todas las funcionalidades que había en mi actividad principal.
No quiero moderar
la funcionalidad que me proporcionó mi clase Actividad,
la funcionalidadOnCreate que me proporcionó mi
clase 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 de mi actividad y eso también lo estoy haciendo
conR.layout.activity_main. Por ahora, comprenda que
adjunto 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 exactamente se adjunta, pero puede ver queActivity_maines el archivo que se adjunta
a estaactividad principal en particularaquí ahora.
Ese era el paquete de desarrollo y ese era elarchivo MainActivity. En otros paquetes como la prueba de Android, verá los archivos
que se utilizan para las pruebas de UI aquí, todas las clases de prueba de UI se
colocarán dentro de esto: se colocarán todas lasclases de prueba de JUnit, todas las clases paraJUnit. Entonces esa era la carpeta Java. Entonces, la carpeta Java
contendrá específicamente toda su barra de codificación. Ahora vayamos a lacarpeta res.
Ahora,la carpeta reses una carpeta muy importante en el desarrollo de su aplicación para Android porque el desarrollo de aplicaciones para 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 valores que usted 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. Generalmente, el elemento dibujable: todas y cada una de las carpetas que diseñarás
dentro de tucarpeta 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ás eldibujable. Verá más
en las sesiones de su carpeta para qué se puede usar exactamente esta carpetadibujable
. Por ahora, entiende que todas las imágenes y partes de animación las pondrás aquí. La siguiente es sucarpeta de diseño. La carpeta de diseñoes una carpeta
donde proporcionará todo el diseño de 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. Entonces ese archivo que acabas de ver,
aquí es donde reside. Activity_Main.xml, cualquier archivo XML que estés viendo,
cualquier archivo de diseño que estés viendo, están en tucarpeta 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 haces clic en la pestaña de texto aquí podrás ver
la parte de codificación y también la parte XML.
Discutiremos sobre la parte de codificación y cómo exactamente puede manejar
estas partes XML para la sesión. Pero por ahora sepa que: en la carpeta de diseño,
todos los archivos de diseño existen y puede editar el diseño
de estos archivos XML con la aplicaciónEditor de diseño. El siguiente es sumapa MIP. Mipmapes una carpeta que, nuevamente,
se usa solo para sus imágenes, pero aquí puede juntar las imágenes con diferentes resoluciones 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íxeles altos, luego hay una imagen de píxeles extra altos, luego hay una imagen de píxeles extra altos,
por lo que la resolución cambia. Si tienes una imagen
de diferente resolución la pondrás en elmipmap poniendo el mismo nombre.
Si el nombre de mi imagen es logo y tengo cinco
resoluciones diferentes de logo, pondré solo el logo
pero la resolución será diferente. Como uno tal vez de 42×42, otro tal vez de 72×72 y otro, tal vez,
extra alto de 128×128. Entonces, automáticamente, creará una carpeta que definirá mi
imagen de píxeles de alta densidad de manera diferente, y mi imagen de píxeles de densidad media de manera diferente, y mi imagen de píxeles de densidad extra alta
de manera diferente. Entonces, ¿para qué sirve? Si ejecuta su aplicación en cualquier dispositivo que use píxeles de densidad extra alta, no tiene que especificar
ni ingresar el código que usa esta imagen.
Automáticamente ajustará "está bien, este es mi
dispositivo de píxeles de densidad extra alta".
Seleccionará automáticamente solo esta imagen. Ese fue elmapa MIP. Ahora hablemos de valores,
ahora valores es una carpeta donde generalmente coloca todos los
demás recursos que desea colocar o mostrar a los usuarios, como los colores. Valoreses la carpeta donde desea definir sus diferentes recursos para realizar la localización. Para que no tenga que definir
esos recursos una y otra vez. Puede ser cualquier valor de cadena,
cualquier título o también cualquier color. Como puede ver, definí
unarchivo de color.xmlpor separado y luego definí la etiqueta de color. Recuerde que cualquier recurso que
desee definir, primero debe usar la etiqueta de recurso. 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 este ColorPrimary directamente
donde quiera usarlo. En un momento veremos
cómo exactamente podemos usarlo. En los segundos usos,
digamos que mañana tu jefe dice "Quiero cambiar este color". En lugar deColorPrimary, aquí defines un color más, y ese color esTitle_Color,
llamémoslo color. Defines 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 utilizó este código hash. Si hubiera codificado aquí, tendría que cambiar el código hash
en todos y cada uno de los lugares. Aquí simplemente vas a
cambiar el color aquí y dondequiera que hayas usado este nombre allí, todos esos lugares
recibirán los cambios. Ésa es la belleza de definir
los recursos aquí.
Entonces, de esta manera tengo que
encontrar colores de recursos, solo aquí puedes verColorPrimary ColorDark,ColorAccent
yColorTitle, ¿verdad? Una cosa más que quiero señalar aquí,
cualquier cosa que pongas en tu recurso, incluso una imagen, incluso un archivo de diseño,
incluso todos estos colores que estoy poniendo aquí ahora mismo,
cualquier cosa que pongas en tucarpeta res, obtendrán un registro. dentro de un archivo
denominadoarchivo Java de Android. El archivo Android Javaes
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, obtendrá entrada dentro
del disco duro.
-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 estosmapas mip
también deberían tener una entrada. Comprobemos eso. No verás elarchivo R.java
dentro de tu clave de datos de Android. Para ver eso, deberá cambiar
la clave de datos al paquete. y dentro del paquete,
este es su paquete de desarrollo. Puede ver R, simplemente haga clic
en este archivoR.java y podrá volver a Android ahora. Entonces este es su AndroidR.java.
Puede ver que el archivo en lacarpeta de compilaciónse genera
y no debe editarse. Así que no debes alterar este archivo. Solo te estoy mostrando esto
para demostrar mi punto de que todo lo que pones dentro de
tucarpeta resestá registrado aquí. Así que primero encontraré miActivityMain. Todo lo 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 buscarlo dentro de
una carpeta de diseño, por lo que estará dentro de sucarpeta R.java pero dentro de undiseño de clase.
Entonces…Diseño de clase. Puede ver eldiseño de la clase
y luego, dentro de él, el nombreActivityMain. [inaudible] Sí, ahí vamos.
Entonces puedes ver la entrada aquí ahora. De la misma manera, hablemos demipmap. Entoncesmipmap seregistrará
dentro delarchivo R.java pero con laclase mipmap. Puedes verlo aquí enic_launcher. Principalmente esta es solo una imagen, ¿verdad? Con un solo nombre, por eso
solo hay una entrada.
Acabo de guardar un montón de colores allí,
así que para comprobar los colores, ¿ en qué clase se guardarán?
Color. Color de los recursos. Como puede ver, la etiqueta es de color aquí. Entonces, color. Y dentro del color ahora puedes saber cuál es el nombre con el que guardaste. ColorPrimary, ColorDark,
ColorAccentyTitle_Color. Así que sólo tienes que averiguar
elColorPrimary, ColorDark… Sí, mira,ColorPrimary, ColorDark,
ColorPrimary Dark y elTítulo. Incluí el mío propio,TitleColor. Entonces estará en algún lugar por aquí. Si algo no está allí,
incluso puedes reconstruir tu proyecto y sincronizarlo ahora. Bien, ahora encuentra color, clase, color. Entonces 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 crees
tendrá una entrada. Ahora puedes ver… De la misma manera hay
una carpeta de dimensiones o carpetade dimensiones. Dentro del cual vamos definiendo algunos espacios. Las dimensionesse utilizan para definir espacios en blanco y poner un margen horizontal. Eso es 16 dp 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 será 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 utilice. Todavía necesito decirte
cómo usar estos recursos, pero… Sepa que esto obtendrá una entrada
dentro de suarchivo R.java Dimens… Sí, puedes ver eso. Habrá unaactividad_… Sí.Actividad_Margen_Horizontal y_Vertical.
Siguiente…Cadena. Como puedes ver aquí,
también hay una cadena. He creado una cadena en recursos
con el nombre de la aplicación My-Hello-First-App. La razón aquí es… Ver aquí. Cada vez que abras tu aplicación, verás estaprimera aplicación Mi Hola, porque debes encontrarla aquí. Ahora, veamos exactamente cómo uso esto, cómo uso exactamente mis recursos. Debes haberlo visto en tu archivo de manifiesto, cuando vas a tu archivo de manifiesto
te dije ese ícono: este ícono se usa para configurar mi ícono. Pero, 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 qué es@. Si está definiendo o si está
accediendo a sus recursos. Si desea acceder a un recurso, ¿
qué es mipmap? Un recurso. Si desea acceder a un recurso
dentro de un archivo XML, utilizará@para indicar
suarchivo R.java. Esta@ en estemomento 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 seguir adelante? Eso esmapa MIP. Entonces comenzará a buscar la
clase mipmap. Entonces, ¿dentro demipmaptambién
qué archivo quiere?Ic_launcher Entonces, ¿existe unic_launcher? Sí.
Esa es la razón por la que pudiste
ver el ícono aquí. Pudiste ver este ícono. Si desea cambiar el ícono,
simplemente proporcione algún otro ícono. Si tienes alguna otra imagen aquí puedes dar cualquier otra imagen
y el ícono cambiará. Déjame comprobar
si tengo alguna otra imagen. Déjame copiarla
y pegarla aquí dentro deldibujable. Lo estoy poniendo endibujable,
pero también puedes ponerlo enmipmap, si tienes más de un ícono o diferente tamaño de resolución
de la misma imagen.
Entonces, si lo estoy refiriendo
desdedrawable, esta vez, ¿ cómo exactamente lo haré referencia? Nuevamente, vaya alarchivo 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úrate de que si estás usando íconos, esos íconos deben ser
realmente compatibles con el tamaño del ícono. No se puede esperar que un tamaño de ícono grande o una imagen grande se convierta en un ícono. Entonces no sé si mi imagen
es en realidad un ícono… sí. Era compatible con eso. Puedes ver aquí,
My Hello App: ahora el ícono ha cambiado. Entonces de esta manera puedes utilizar los recursos. Cada vez que desee utilizar un
recurso dentro de unacarpeta res, utilizará@
y elnombre de la clase. De la misma manera puedes verla etiqueta. Labeles uno de los títulos que ves aquí. Como puede ver, tengoMyHelloFirstApp exactamente cómo 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 que
definí unacadena y lacadenaesnombre_aplicación. 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ítuloFirst App, en
lugar deMyHelloFirstApp. Entonces ves laPrimera aplicación.
Ahí tienes. Espero que esto aclare las cosas de la misma manera que puedes
consultar todos estos estilos. El estilote brinda… El estiloes, nuevamente, uno de los recursos que indica cómo se
verá exactamente tu aplicación, por lo que en este estilo en particular
puedes ver que estoy usando un tema. Ese tema también es
Theme.AppCompat.Light.DarkActionBar. Ahora bien, estacompatibilidad de aplicacioneses muy importante porque en tu Java o en tu Actividad estás usandoAppCompat Activity. Si estuviera utilizando
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. Entonces estoy usandoAppCompat, entonces paraAppCompat,
estoy usando eltema AppCompat. Barra de acción de Luz y Oscuridad. Y puedes ver que lo estoy personalizando
usando uno de los elementos. 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. Ahora, si ejecuta esto,
podrá ver que el color ha cambiado. Así es como funciona tu recurso
de archivo en tu 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
está definido enDiseño dentro de mi archivo Java,
dentro de miActividad con la ayuda del archivo de recursos únicamente.
Entonces, si accede a unarchivo R.java dentro de su carpeta Java, entonces usará.operator. Puede ver, nuevamente, estoy usando
R, esta vez no @ R, luego elpuntoy luego
el nombre de la clase.disposición. 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) ♪.