FRED Widjaja: De acuerdo. Hola a todos. Gracias por la bienvenida acompañarme en este seminario. Así que hoy vamos a estar hablando de cómo desarrollar aplicaciones para Android, y sobre todo, vamos a a utilizar Android estudio con el fin para desarrollar nuestras aplicaciones. Así como todos ustedes saben. Android usa Java, y así estaremos pasando por una breve introducción sobre sí misma Java. Así que sé que muchos de ustedes sólo tienen experiencia en programación en C. Así eso es totalmente bien, y eso es porque Java es muy, muy similar a C, con pequeñas diferencias. Así que los tipos en Java son fija en el número de bytes. Así que en C, tenemos pantalones cortos y anhela, y que diferir en número de bits de máquina a máquina. En Java, que ya esté configurado como estándar. Así bytes tienen ocho bits, pantalones cortos tener 16 bits, y así sucesivamente y así sucesivamente. También tenemos chars, booleanos, y también flota y dobles. Así que la forma en que programar en Java, es muy similar. Así, por ejemplo, tenemos para bucles y bucles while, y si y else son exactamente igual que lo haría en C. Muy bien, así que la cosa especial sobre Java es que está orientado a objetos. Ahora, ¿cuáles son los objetos? Así que si nos fijamos en la cosas a tu alrededor, podrás cuenta de que cada objeto del mundo real tiene dos características comunes. Y eso es que tienen estado y que tienen algún tipo de comportamiento. Así, por ejemplo, los perros tendría estados que son nombre, color, raza, tal vez si el perro tiene hambre o no. Y algunos de los comportamientos que los perros tendrían sería ladrar, o meneando la cola, o ir a buscar una pelota. Así también podemos aplicar este a los objetos inanimados. Así, por ejemplo, automóviles, que tienen el modelo, el año, la velocidad máxima, y así sucesivamente y así sucesivamente. Y tienen algún comportamiento. Por ejemplo, la aceleración, o frenado, o ir a la inversa. Así objetos Java intento de modelar esto por tener campos y métodos. Así que los campos son los estados que el objeto Java puede tener, mientras que el método representaría el comportamiento que un objeto Java tendría. Así que cuando digo métodos y campos, realmente sólo significa variables y funciones. Son exactamente los mismos, excepto que se aplican a un determinado objeto. OK, así que pasar a clases. Clases de Java son como la planos de un objeto. Ellos te dicen qué métodos lo ha hecho, lo que los campos que tiene, e incluso aquí, tenemos algo llamados modificadores de acceso que vamos a llegar a un tiempo. Así que para declarar una clase Java, es muy similar en sintaxis a una estructura C. Aquí partimos de clase Car pública, y entonces tenemos una llave abierta y después un número de campos que desea que el objeto tenga. Y entonces aquí tenemos algunos métodos, y también tenemos un constructor de objetos. Ahora lo que este objeto constructor hace es que le dice al objeto, Aceptar, quiero iniciar este oponerse con algún tipo de campos. Así que aquí, queremos que todos los coches tener un modelo y un año. Así que tenemos un constructor sólo específicamente para el modelo y el año, y esto sería establecer el campo modelo a un cierto valor, y el campo de año también. Ahora sobre el acceso modificadores me estaba hablando. Aquí tenemos al público y modificadores de acceso privado. Así que usted puede pensar en esto como la RWX en sus directorios. Así que permiten a ciertas personas leer, y tener acceso a estos campos y métodos. Así que si digo que el modelo y año y la velocidad son privadas, que significa que otros objetos no pueden intentar acceder a los campos de este objeto no son privadas. Pero cuando me puse el acceso modificador de ser pública, ahora que significa que otros objetos son de libre acceso y aun utiliza los métodos que se definen aquí. Así que esta es la base Objeto de coches que tengo. Tenemos la aceleran, romper, y los métodos getSpeed. Para este punto, es claro en todo el mundo Objetos Java y cómo declarar ellos? Fresco, de acuerdo. Así que si usted desea utilizar el Java objeto en un programa en sí mismo, entonces podemos utilizar esta nuevo constructor de coches. Así que aquí estamos diciendo que queremos declarar un nuevo objeto, que es de tipo de coches. Y aquí está aplicando el modelo y el año, que hemos definido en este objeto aquí. Así que esto es también otro objetar, si nota. Es una clase para el programa principal en sí. Y tenemos este PSVM, o público static void main, función, y es el de partida punto de su programa, similar a la principal función en su programa C. Aquí, podemos acceder y utilizar las funciones del objeto utilizando el punto y entonces la nombre de la función notación. Y hasta podemos especificar ciertos argumentos o parámetros para esa función. OK, así que ahora pasar a la herencia. Así, los objetos del mundo real puede comparten las mismas características. Así, por ejemplo, hay diferentes tipos de bicicletas. Por ejemplo, bicicleta de montaña, bicicletas de la ciudad, o bicicletas tándem. Así que tienen este común característica de ser una bicicleta. Y así las bicicletas pueden tener dos ruedas y que pueden tener un manillar, tal vez incluso una luz trasera o algo por el estilo. Así que Java nos da esta poder de representación de objetos que tienen cierta común características a través de la herencia. Ahora, ¿qué hace la herencia, ¿es pasa en los campos y los métodos de un objeto a un objeto secundario. Así, por ejemplo, si tener un coche, y tiene el estado de tener cuatro ruedas y una rueda de dirección, entonces podemos pasar esto a determinados tipos diferentes de coches. Por ejemplo, tenemos la sedán, coche deportivo, y un SUV. Ahora, estos tres diferentes tipos de coches haría aún tienen cuatro ruedas y una volante, pero luego puede tener cierta características especiales, tales como tener cinco asientos y una para un sedán, por ejemplo. Así que para hacer uso de esta herencia función, utilizamos esta palabra clave se extiende. Así que recuerda de nuevo al coche objeto que he definido previamente. Ahora defino un objeto Sedan. Así que este objeto Sedan tendría la mismos campos y funciones o métodos, que el coche tendría. Pero entonces, aquí especifico ciertas funciones adicionales, Por ejemplo, el conjunto número de pasajeros y el número de pasajeros conseguir. Aquí, usted también puede notar que podemos reemplazar los métodos, y eso significa que estamos a reemplazando el comportamiento actuar de manera diferente en ciertos casos. Así, por ejemplo, que quiero establecer una velocidad máxima para nuestro coche. Y para hacer eso, puedo comprobar si esta velocidad iría sobre la velocidad máxima. Y si no lo hace, entonces yo llamo el superclase 'acelerar método. Así que esta es la super.accelerate () llamadas la súper clase 'acelerar método. Por último, vamos a hablar de interfaces. Así interfaces son una manera de exponer sólo ciertos métodos con el mundo exterior. Así que es como una tabla de contenidos, y puede pensar en ellos como como los archivos de cabecera C, sólo métodos como con cuerpos vacíos, y que especificar lo que el objeto o la clase tiene que tener, o qué métodos el objeto o clase tiene que tener. Así, por ejemplo, si tener una interfaz de bicicletas, y tiene tres métodos diferentes, y aquí si puedo implementar esta interfaz, entonces eso significa que esta bicicletas habría que aplicar los mismos tres métodos que se definen en la interfaz. Hasta este punto, cualquier otra pregunta? Muy bien, fresco. Así que esta fue una muy breve y rápido tutorial sobre Java. No hay manera más características y temas Java, que en realidad se puede pasar. Por ejemplo, hay genéricos, hay tipos de datos, incluso hay enumeraciones y esas cosas. Así que si usted desea aprender más sobre él, no siga estos enlaces, y ellos te enseñan más sobre ellos. OK, entonces, vamos a pasar a la carne real del seminario, y que es en realidad Programación Android. Así que antes de que realmente llegar a la programación, Yo quiero hablar de la jerga. Así que una actividad es Manera de Android de decir es una sola pantalla dentro de la aplicación. Así, por ejemplo, si usted tiene una cuenta de Gmail aplicación, tenemos la actividad de ver los correos electrónicos. Y luego, si hace clic una cierta dirección de correo electrónico, que mostrará otra actividad en la que es una actividad de la vista de correo electrónico. Y luego tenemos también la redacción la actividad, o la actividad de edición de mensajes. Y lo que las actividades son en general, sólo una única pantalla dentro de la propia aplicación. Ahora, las vistas son los componentes que hacen hasta la pantalla, o la propia actividad. Así que dibujan una cierta cosa en su pantalla. Así, por ejemplo, podría ser una campo de texto, puede ser una etiqueta, podría ser una caja de cheques. Por lo que es muchos tipos diferentes de visitas. Así que ahora tenemos intenciones, y eso es un mensaje que se pasa a otra actividad. Y contienen información sobre lo que quiere esta actividad a ejecutar. Por último, tenemos la archivo de manifiesto, y que es un archivo XML que da a su teléfono toda la información acerca de su aplicación. Así que eso incluye la versión, y las actividades que va a tener. OK, así que vamos a empezar. Así que vamos a ser el uso de Android Studio. Así que si ustedes tienen esto ya instalado, no dude en seguir adelante. Vamos a tratar de empezar de nuevo desde cero. Y así que voy a tratar y crear un nuevo proyecto. Y yo voy a llamar mi proyecto Android 101. Y aquí ponemos el nombre de la proyecto en el campo nombre de la aplicación. Dominio de la empresa, no lo hace realmente tiene que preocuparse por eso. Esto es sólo la forma en Android identifica su aplicación. Así que tienes un nombre de dominio, puede escribir en su nombre de dominio dentro de allí. Pero si no lo hace, se puede sentir libre para escribir lo que quieras. Así que aquí sólo tiene que escribir frederickw.com. Y entonces, por fin, elijo donde Quiero guardar mi proyecto en. Y me voy a sólo elegir mi escritorio. Así Usuarios, Frederick Widjaja y escritorio. DE ACUERDO. Luego haga clic en Siguiente. Aquí, voy a elegir la API mínima para ser compatible. Así que en este caso, estoy va a elegir API 15. Y está bien si en realidad sólo elegir 4.4 que es la última API. O 5, de hecho. Pero entonces sólo tiene que preocuparse que los teléfonos que estés realmente de apoyo, y que los teléfonos que usted está apuntando. Haga clic en Siguiente. OK, así que llegamos a este pantalla, y sólo somos va a utilizar crear un la actividad a través de este. Así que voy a hacer clic en blanco actividad y luego en Siguiente. Vamos a llamarlo principal actividad, creo que está bien. Sólo va a llamarlo, pulse Finalizar aquí. Espere a que se cargue, y ahí vamos. Así que aquí nos damos cuenta de tres diferentes carpetas. Tenemos la carpeta manifiesta que contiene nuestro manifiesto. Si lo abres, veremos nuestro paquete. O identifica cómo Android su aplicación y luego tenemos esta la etiqueta de solicitud, que contiene el título de nuestra aplicación así como el icono de la aplicación. De hecho, podemos ejecutar este recta aplicación. Entonces, ¿por qué no intentamos y hacemos eso? Voy a utilizar Genymotion. Si llevas tu propio teléfono, puede vincularlo y ejecutarlo si quieres. Pero yo sólo voy a utilizar un emulador, y voy a empezar esta. Ooh. Bueno, yo creo que eso es Va a tomar un tiempo, así que creo que sólo tendremos que ir directo a explicar más sobre esto. Así que aquí tenemos el directorio de Java, o donde se encuentran los archivos de origen. Aquí tenemos la misma actividad. Se puede ver que extiende la clase de actividad. Así que nuestra actividad principal es una pantalla que será en nuestra aplicación. Y entonces aquí nos damos cuenta de que un número de las funciones son auto generada por nosotros. Tenemos la función onCreate, y que se llamará whenever-- ESTUDIANTE: ¿Te importa haciendo que el texto más grande? FRED Widjaja: OK, seguro. Voy a tratar de aumentar el tamaño de fuente. Piensa que debe ser bueno. Que bueno? ESTUDIANTE: Sólo un poco mayor, como 20 o algo así. FRED Widjaja: 20? DE ACUERDO. Bien, bien. Así que aquí tenemos onCreate método que haría ser llamado cuando nuestra actividad se crea en el [? mostrar?]. Tenemos el onCreateOptionsMenu, y vamos a ver que hay realmente una barra de acciones, y luego podemos añadir ciertos elementos del menú a ella. Y entonces aquí tenemos la onOptionsItemSelected. Así que esto es como un detector de eventos, por lo que cada vez que una opción en nuestra barra de acciones se hace clic en, este función será llamada, y se aprobó con un cierto punto que se hizo clic. Bien, voy a ver-- eso no funciona así. Vamos a tratar de empezar. Oh querido. DE ACUERDO. Esto es preocupante. OK, así que de todos modos. Aquí tenemos el diseño para nuestra propia actividad. Esta es nuestra actividad principal, y aquí nos damos cuenta de que hay la barra de acción. Y luego tenemos esta hola etiqueta mundo, y podemos realmente editar el texto aquí. Si vas y desplazamiento hasta el Hello World, podemos cambiarlo a lo que queremos. Por ejemplo, podría ser, Hola. Bienvenido. Y ahí vamos, cambia. Oh querido. Este estilo no funciona. OK, eso es preocupante. Bueno, de todos modos, podemos pasar sin eso. Así que por ahora, vamos a tratar de hacer algunas cosas muy básicas. Así que aquí vamos a tener una etiqueta, y entonces estamos va a tener un texto juicio- lo siento, no una vista de texto, vamos a tener una edición de texto. Y eso es un componente para que escriba y esas cosas. Así que tenemos un texto sin formato y, a continuación, simplemente añadiremos a nuestra interfaz. Aquí, quiero añadir también un cierto margen a la parte superior para que se vea más bonito. Así que vamos a pasar a la propiedades, y luego en el margen superior, vamos a añadir en 20 AD. Así que ahora, AD son sólo unidad de medida en Android, y que representan la densidad píxeles independientes. Así que, como ustedes saben, Android, hay muchos tipos diferentes de pantallas y entonces tienen diferentes densidades de pantalla. Así que aquí es sólo va a ser un píxel independiente densidad, así que va a ser el mismo a través de todas las pantallas. El ir a extender esta edición de texto, y entonces yo también voy a añadir un botón. Y que va a decir en Aceptar. 20 AD. DE ACUERDO. Así que ahora tenemos tres diferentes componentes. Y la forma en que se puede referir a estos en nuestra clase principal actividad es mediante el uso de este método llamado findViewById. Así que voy a definir algunos campos. Así que tenemos en TextView, así que digamos helloText. Y entonces, si usted está usando Android de estudio, puede utilizar la alternativa de acceso directo, entrar. Y haga clic en Importar clase de forma automática importar las clases correspondientes que necesitamos. Y entonces aquí voy a añadir un ID de este TextView y lo llaman text_hello. Ahora que hemos definido un ID para esta TextView, podemos usar esto para referirse a la TextView que acabamos de definir. Así helloText es igual TextView findViewById, y luego especificamos el ID que queremos, que es r.ID.text_hello. Así que este es muy similar al JavaScript y jQuery, en lo que podamos en realidad sólo referirse a ciertos elementos en el diseño del mismo mediante el uso de la ID que hemos especificado. Así que, en general, para acceder a una cierto objeto o de un determinado campo de en nuestro diseño, usted va a tener Para utilizar este método findViewById. Y luego vamos a hacer lo mismo cosas para los otros dos elementos. Aquí, voy a añadir el TEXT_NAME ID. Sí. Así como para éste. Button_ok. Ahora lo que quiero hacer es esto cuando hacemos clic en el botón Aceptar, y hemos introducido algún tipo de nombre en el campo de texto, entonces va a actualizar esta etiqueta diga, hola, nombre, bienvenido. Así que, volviendo en nuestra principal clase de actividad, estamos también va a tratar de hacer referencia a aquellos elementos que tenemos que encontrar. Así que tenemos la EditarTexto nameText. Ups. Entrar y suplente, clase de importación. Y entonces también el botón Aceptar. Del mismo modo, vamos a hacer lo mismo aquí. nameText equivale EditarTexto findViewById, r.ID.text_name. Y luego en el botón Aceptar. findViewById, r.ID, y luego button_ok. OK, así que ahora tenemos los tres elementos que queremos hacer referencia a. Así que ahora voy a adjuntar una en clic oyente de nuestro botón para escuchar los clics de los usuarios. Para que sólo tiene que utilizar el evento setOnClickListener. Ahora, aquí está diciendo que necesitamos para especificar setOnClickListener, y usted puede hacer eso con sólo tener un nueva OnClickListener y pulse Intro. Y entonces usted tiene este anónimo clase, o un objeto anónimo. Y también tenemos este onClick método, y eso es básicamente lo que va a ser llamado cada vez que hace clic de nuestro botón. Así que aquí, quiero obtener el nombre que era la entrada en un campo de texto primero Así String nombre es igual a nameText.getText (). Una vez más, esto es como el La sintaxis de Java para referirse a las funciones dentro del objeto. Así nameText.getText, y entonces estamos va a convertir en una cadena. Ahora tenemos el nombre que era de entrada por el usuario. Y luego vamos a generar una nueva cadena, así que va a ser llamado hola. Yo voy a decir, hola, nombre, bienvenido. Y, por último, que desea para actualizar la helloText. Así que para hacer eso, simplemente llamamos helloText.setText (hola). DE ACUERDO. Ups. Voy a tratar de volver a ejecutar Genymotion una última vez y ver si funciona. Si no lo hace, es totalmente bien. DE ACUERDO. Así que supongo que no funciona. En realidad, déjenme tratar de hacer esto. ¿Podría ser esto. Genymotion. DE ACUERDO. Bien. Sí, funciona. DE ACUERDO. Eso fue aterrador. DE ACUERDO. No quise hacer eso. OK, así que tenemos este emulador de Android. Permítanme pasar esto. Así que tenemos nuestro emulador de Android. Así que vamos a tratar de ejecutar esta aplicación que hicimos. Sólo va a hacer clic en el botón Reproducir, y que va a decir, esperando adb. Oh, hombre. Reanudar. Bueno, supongo que esto aún no funciona. Aceptar, no importa, entonces. esto va a ser una lástima. Pero así que digamos que queremos para crear una nueva actividad, y vamos a tener un imagen en esa actividad. Para hacer eso, podemos simplemente haga clic en este archivo y, a continuación, en Nuevo. Y entonces aquí podemos seleccionar Actividad, Actividad y luego blanco. Aquí, vamos a llamar a que tal vez CatActivity. Aceptar, por lo que ahora genera otros dos archivos. Uno se llama activity_cat, y el otro se llama catActivity, que es una clase. Así que digamos que queremos añadir una imagen de un gato aquí. Así que cuando haces eso, vamos utilizar la clase ImageView. Vamos a añadir que en aquí. Y a continuación, establecer el margen de ser 20 DP. Y ahora nos vamos a encontrar una imagen de un gato en internet. Así que vamos a ver. Gato. DE ACUERDO. Supongo que esto está muy bien. DE ACUERDO. Así que ahora tenemos nuestra imagen. Así que vamos a añadir en nuestro proyecto. Puede hacer esto por la derecha clic y entonces-- que en realidad puede simplemente abrir este, ir descargas, lo siento, escritorio. Va a tratar de encontrarlo. Gato. Justo aquí. Voy a copiar en mi carpeta. Ahora, se me va a hacer algunas opciones. Ahora, yo sólo quiero que esto estar en la carpeta estirable, y eso va a ser para todos diferentes resoluciones de pantalla. Alternativamente, podemos en realidad sólo tienes que seleccionar que resolución de pantalla desea que esta imagen sea en. Así que va a seleccionar el carpeta estirable, haga clic en Aceptar. Sólo va a nombrarla cat.jpg. OK, así que, ahora se agregó en nuestra vista de la imagen. vamos a tener que usar esta fuente aquí, y entonces podemos utilizar esta dot dot dot botón y seleccione la imagen del gato. DE ACUERDO. Así que ahora quiero hacerlo como que es el tamaño justo. Así que voy a seleccionar este ajuste ver opción límites aquí, y que automáticamente ajustarlo en el tamaño correcto. DE ACUERDO. Ahora, para poner en marcha esta realidad la actividad de nuestra actividad anterior, vas a tener que usar algo que se llama la intención. Así que digamos que voy a agregar otro botón que inicia la actividad. Voy a añadir aquí, aquí mismo. Y luego se va a tiene el texto activarlo. Ups. DE ACUERDO. Ahora, ¿cómo podemos realmente abrimos la nueva actividad dentro de esta actividad? Así mismo acuerdo que antes. Tenemos que añadir un ID a este botón, y lo llaman button_activate. Y luego, en nuestra actividad principal, pasando tener esta nueva activateButton Button. Y luego también utilizar el método findViewById. activateButton equivale Button findViewById r.ID.button_activate. DE ACUERDO. Y entonces también va a añadir en un OnClickListener. Nueva OnClickListener. Y luego vamos a utilizar esta cosa llamada Intención. Intención iguala nueva Intención (este). Y a continuación, el nombre de la actividad que queremos aparecer. Así que aquí en esto, vamos tener catActivity.class. Lo siento. Vamos a tener que especifique @ MainActivity.this. Así que ahora la propiedad .this está refiriendo a la instancia actual del objeto sí mismo. DE ACUERDO. Hasta este momento, cualquier pregunta? Todo bien? Bien. Y luego, si desea iniciar la actividad, es bastante simple. Nos llamamos el método startActivity. Y luego pasamos en la Intención objeto que acabamos de definir. Desafortunadamente, en realidad no puede mostrar esta. Tenía la esperanza de que en realidad podemos ejecutar esto y demostrar que a lo largo del seminario, pero por desgracia no. Oh, hombre. Veo. Oh, vamos a tratar de matar ATB.exe. DE ACUERDO. Reanudar. ¿Funcionó? Oh, OK. Así que ahora en realidad es la compilación. Oh. Desafortunadamente, no no hay dispositivos que ejecutan. Vamos a tratar de reiniciar el emulador. Ah, ahí vamos. Apareció. DE ACUERDO. Así que voy a lanzar mi aplicación en mi emulador de Android. Y tenemos las cosas que definimos en este momento. Así que tenemos la etiqueta, la vista de texto, el campo de texto, y luego el botón. Así que voy a la entrada mi nombre aquí, y ahí vamos, cambió el texto. Así que si tecleamos Foo, es va a cambiar a Foo. Y si hago clic en el Botón Activar, que que han vinculado a lanzar en realidad una actividad nueva, espero que esto va a funcionar, ahí vamos. Se pone en marcha la nueva actividad. Para volver, podemos pulsar el botón Atrás aquí. O no. Oh, ahí vamos. Ups. Eso fue malo. DE ACUERDO. Así que ahora que hemos puesto en marcha algunas cosas básicas en Android, podemos tratar de hacer algo de cosas más complicadas. Así que primero, vamos a tratar de pasar mensajes de una actividad a otra. Así que digamos que queremos pasar en un nombre de la actividad principal a la actividad de CAT. Y un nombre sería recuperado de este nameText. OK, así que en primer lugar, vamos a recuperar el nombre aquí. String nombre es igual nameText.getText (). toString (). DE ACUERDO. Y entonces podemos utilizar esta cosa llamado intent.putExtra (nombre), y los que en realidad también quiere una clave para este campo extra. Así que voy a definir un nuevo clave, lo llamaremos EXTRA_NAME. Así que voy a utilizar este clave, CatActivity.EXTRA_NAME, y luego pasar el nombre propio. Aceptar, por lo que ahora realmente podemos recuperar esta dentro de la nueva CatActivity. Para hacer eso, tenemos que utilizar la la intención es igual método getIntent. Así que ahora que va a recuperar la intención de que se utilizó para llamar a esta nueva actividad. Así que si quieres recuperar la cadena que en realidad ponemos dentro de la intención, puede utilizar un intent.getStringExtra y luego pasar en la misma tecla, OK, así que ahora digamos que usted querer cambiar este campo. Cambie este campo aquí. Y vamos a hacer el tipo de letra tamaño de este campo más grande. Así que digamos que yo quiero que esto sea 20 DP. DE ACUERDO. Y voy a añadir una Identificación para este TextView, y yo voy a llamarlo text_cat. Lo siento. Y de vuelta en CatActivity, misma cantidad que antes. Vamos a definir algunos campos. Aquí va a ser un catText TextView. Y luego catText equivale TextView findViewById, r.ID.text_cat. DE ACUERDO. Y luego de vuelta aquí, estoy va a establecer el derecho de texto después de que nos recuperamos de a partir de la intención. setText (nombre). OK, así que vamos a intentar eso. Haga clic en el botón Reproducir. Voy a utilizar el mismo dispositivo. Volver aquí. Así que digamos que no input-- si no se especifica ningún nombre, vamos a ver qué pasa. Así que ahora no hay nada que aparece. Así que nos vamos hacia atrás y entrar nuestro nombre, sólo va a decir Fred. Así que en realidad podemos pasar mensajes de una actividad a otra. DE ACUERDO. Así que hay un montón de otros puntos de vista que se puede utilizar en Android. Así que ahora tenemos barras de progreso, tenemos vistas de lista, que tienen botones de conmutación, y si realmente quería para aprender más acerca de eso, en realidad se puede visitar estas páginas web. Contienen muchos recursos diferentes. Así, por ejemplo, la API guiar aquí en realidad le da algunos ejemplos de código para ciertas características de la biblioteca de Android. Y unos tutoriales que encontraron útil al aprender acerca de Android. Esa es la misma tutorial oficial, y también este otro tutorial aquí. Y, por último, en realidad se puede utilizar diferentes bibliotecas para su aplicación Android. Ahora, estos en realidad se extienden la funcionalidad de su aplicación sin tener que realmente escribir mucho código. La desventaja es, de Por supuesto, que en realidad tienen que aprender las bibliotecas a ti mismo. Así por ejemplo, si usted quiere hacer el uso de tecnología en la nube Dropbox, entonces usted puede utilizar la API de Dropbox. Similar con la API de Facebook. Y luego está la realidad unos pocos diferentes otras bibliotecas misceláneas que puede utilizar. Si usted está tratando de conseguir, como, JSON de un determinado sitio web, entonces creo que el Google JSON biblioteca sería muy útil. Así que ahora, que convierte un JSON con formato de texto en un objeto de Java, y viceversa. Y luego está Retrofit y Picasso. Y eso si quieres servicio- eso es si usted está utilizando una API REST. Y Picasso, si usted está utilizando imágenes para su aplicación Android. Bien. Muchas gracias, y divertirse codificación.