Escolar Documentos
Profissional Documentos
Cultura Documentos
Graphical Layout
Y su activity_main.xml
Y donde encontraremos varias carpetas, como por ejemplo las drawable, las
cuales se encargan de guardar los recursos grficos, tales como imgenes,
botones, conos, logos etc. Y esto dependiendo cada carpeta de las densidades
de cada imagen o recurso.
En las carpetas layouts se encontrarn las partes grficas de cada ventana o
activity, o sea, donde se encuentran los archivos XML.
Tambin se encuentran los directorios de los diferentes mens que se van a
utilizar.
Android Manifest
Es el archivo de la columna vertebral de nuestra aplicacin, se encuentra
afuera de cualquier directorio, en la parte principal.
El cual nos dice mucho de nuestra aplicacin que estamos realizando, y
adems pre-configura todo para el correcto funcionamiento de una aplicacin.
Se indica las versiones menores y mayores del SDK en que trabajar nuestra
aplicacin:
Linear-Layout
Para la parte grfica de nuestra aplicacin, donde se encuentran los archivos
XML.
Por defecto se crea el RelativeLayout con Eclipse, el cual ser cambiado a
LinearLayout
Y si hay dos campos de texto, los ir acomodando de arriba hacia abajo porque
tiene orientacin vertical que le pusimos antes.
Relative-Layout
Es una capa como el linear o el frame layout, pero su caracterstica
principal, es que te va a permitir colocar un elemento en cualquier lugar, pero
con respecto a la posicin de otro elemento.
Como por ejemplo, si agregamos un botn, y luego agregamos otro botn, este
ltimo botn estar colocado con respecto a la posicin del primer botn.
Al inicio, coloca los dos elementos uno encima del otro, al arrastarlo se puede
ver por la flechas que depende de la posicin del otro elemento.
Match Parent
Donde se puede configurar la altura (height) y anchura (weight) de un
elemento.
Todos los elementos tienen esas medidas, como el TextView u otro, ya sea en
pixeles, que no deben de ser usados en Android, o proporciones, as como el
Match_parent, Fill_parent y el wrap_content.
Archivo String
Tiene la funcin de que todos los textos de nuestra aplicacin, se colocan
dentro de un archivo, para el fin de crear aplicaciones multi-idioma, y siempre
que agregue texto, se debe de configurar en dicho archivo.
TextView
El TextView es un elemento para meter texto que se quiera mostrar u ocultar al
usuario.
Tambin se puede encontrar en la parte grfica del lado izquierdo del Eclipse.
Y su cdigo sera:
Y su parte grfica:
Button
El botn permite interactuar con el usuario y ejecutar una accin.
Y en su parte grfica:
Los IDs
Para interactuar entre la parte grfica (xml) y la parte lgica (.java) y lograr
identificar la parte distinta de cada elemento, se utilizan los IDs o
identificadores en el archivo r.java.
Y estos IDs se le pueden poner a todos los elementos en la parte del cdigo en
minsculas.
Interaccin
Nos vamos a la parte grfica (XML), y agregamos un TextView, su cdigo:
Su grfica:
Luego se declara y se liga en la parte del cdigo java, y creamos una cadena
llamada texto:
Y luego lo corremos
Los CheckBox
Los agregamos en la parte grfica o lgica del XML:
Y lo corremos:
Y lo llamaremos arrays:
Y hacemos un string_array:
Y se le da importar:
Y los implementa:
El ListView
Se puede llenar por muchos objetos, lo agregamos a la parte XML
Y lo ejecutamos:
ImageView XML
Se usa para ver imgenes dentro de un activity.
Se agrega en el XML pero se utilizan dp en vez de px
La parte izquierda del Android Studio, se puede ocultar mediante el botn gris
de abajo.
Donde pasando el puntero del mouse, tambin nos despliega las diferentes
reas de trabajo
Button y Toast
Parte de lgica:
Parte grfica:
Y se prueba:
Personalizando botones
Pueden ser botones del sistema o botones de imgenes.
Se personalizan variando sus textSize, textColor, typeFace etc.
Programacin:
Y se empieza a crear:
Recordar que siempre que uno crea una nueva actividad, debe de registrar esa
nueva actividad en el archivo manifest, y lo que se hace es copiar las
etiquetas del manifest principal y pegarlos en la etiqueta de la nueva
actividad, para luego modificarla:
Programacin:
Programacin:
RadioButton y RadioGroup
El Radio Button sirve para seleccionar todas las opciones de entre 3 o 4
opciones a lo ms.
Si existieran ms opciones se utilizan otras herramientas como el checkbox.
Diseo de tres Radio Button:
Y as se muestra:
Otra manera de programar los Radio Buttons, son con las opciones isChecked()
es mejor
Y su parte lgica:
Toggle
El elemento ToggleButton, es un elemento que al drsele click se selecciona y
queda en ese estado hasta que nuevamente se le vuelva a dar click, para
quedar deseleccionado.
Y su programacin:
ScrollView
Es un elemento contenedor que nos permite recorrer las cosas que no
podemos ver dentro de una pantalla por tener mucha cantidad de cosas.
Lo que se hace es agregar el ScrollView dentro del Layout Parent de toda la
pantalla y dentro del mismo los elementos a necesitar, donde se les puede dar
otras caractersticas de Layout por ejemplo Linear y no Relative a ese
ScrollView.
Y su salida:
HorizontalScrollView
Es el mismo ScrollView, pero de manera horizontal.
Cuadro de Dilogo
Se crea un botn, y donde se le haga click al mismo, saldr un cuadro de
dilogo con dos opciones.
CheckBox
Se utiliza para ms de 5 opciones, donde se pueden seleccionar varias
opciones al mismo tiempo.
Autocompletar
Es una caja de texto como el EditTextView, en la cual se puede ayudar al
usuario a que autocomplete los datos a agregar.
Elementos a utilizar:
Programacin:
Resultado:
Icono de la aplicacin
El cono de la aplicacin, se encuentra en las carpetas mipmap, solo ah se
deben de guardar.
Una vez guardadas, lo que se debe de hacer son diferentes densidades y
solamente en formato PNG, para ese icono e ir guardndolos en cada carpeta
correspondiente.
Elementos utilizados:
Archivo color
Se utiliza para la parte de diseo, por defecto no aparece en Android, por lo
que debemos de crear para colocar los colores que vamos a utilizar en el
diseo de la aplicacin.
Existe una clase color que nos permite poner .red, .blue, .black, etc. Pero poner
el cdigo del color en programacin no se recomienda, ya que lo ideal es
ponerlo en el XML.
En la carpeta de recursos RES (resources), en la carpeta values vamos a
crear un archivo XML de valores y le pondremos el nombre de colors, esto de
NO venir en el Android Studio.
Si ya se encuentra, viene con tres colores por defecto:
Se pueden crear todos los colores que queramos, con el nombre que queramos.
Donde en su etiqueta se agrega su nombre y su cdigo hexadecimal, y
tendremos nuestra paleta de colores:
<color name="colorAmarillo">#FAFF00</color>
<color name="colorAmarilloClaro">#FFFBA0</color>
<color name="colorAmarilloOscuro">#DAD410</color>
<color name="colorRojo">#FF0000</color>
<color name="colorRojoClaro">#F98383</color>
<color name="colorRojoOscuro">#C93636</color>
<color name="colorVerde">#00FF00</color>
<color name="colorVerdeClaro">#A2FDA2</color>
<color name="colorVerdeOscuro">#037703</color>
<color name="colorTurquesa">#8ECFA4</color>
<color name="colorMorado">#C204FC</color>
<color name="colorRosado">#EAA9FD</color>
<color name="colorMoradoOscuro">#7E0CA1</color>
<color name="colorAzul">#0000FF</color>
<color name="colorAzulClaro">#9090FA</color>
<color name="colorAzulOscuro">#030399</color>
<color name="colorCeleste">#0299FD</color>
<color name="colorCelesteClaro">#9AD4FB</color>
<color name="colorCelesteOscuro">#0590EC</color>
<color name="colorBlanco">#FFFFFF</color>
<color name="colorGrisClaro">#CECACA</color>
<color name="colorGris">#A1A1A1</color>
<color name="colorGrisOscuro">#6E6B6B</color>
<color name="colorNegro">#000000</color>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
Y se pueden buscar los cdigos en esta pgina:
http://html-color-codes.info/codigos-de-colores-hexadecimales/
Elementos a utilizar:
Una vez creado el directorio, copia el archivo strings.xml a la nueva carpeta del
idioma a crear exactamente con el mismo nombre, y si queda bien el cambia
su icono con la bandera del idioma.
Permisos en Android
Son proteccin para el desarrollador y el usuario.
Dentro del Manifest, se encuentra la etiqueta Aplication donde se encuentra
una configuracin inicial de nuestra aplicacin.
Y en medio de la etiqueta Manifest y Aplication, se agrega la etiqueta de
permisos
ListView
El ListView se usa como una listaMenu, donde se despliegan varias opciones a
las que solamente se escoge una.
ListView Personalizado
Para hacer un ListView personalizado, debemos de indicarle a Android
cual va a ser su estructura. Donde queremos ponerle una imagen al
ListView, y que cambie un texto y una imagen al ser seleccionado un
tem. Se inicia normal en su parte grfica.
Aplicaciones Web
En una aplicacin nativa como las que se han desarrollado anteriormente, la
base utilizada es Java, as como en IOS es Swift, pero para hacer aplicaciones
Web, se utiliza el WebView implementado encima del navegador nativo de los
celulares, donde se ejecutan todos los archivos html5, css, java ,php, ruby,
Python, etc. como si fueran aplicaciones nativas.
Donde se disea todo de manera normal, lo diferente es que lo hacemos que
abarque el ancho y largo de toda la pantalla del celular Match_parent,
luego sus declaraciones son lo mismo que con los otros elementos, y su enlace
tambin, la diferencia es que hay que agregar una URL de la Web que
queremos cargar: WebView.loadUrl(http://loquesea.com)
Y para cargar un archivo CSS en ese mismo archivo html se hace su enlace.
Y se ve el cambio:
TextWatcher
Lo que hace esta clase, es darse cuenta de si cambia algn tipo de texto o
cadena y cuando.
Y as su salida:
Qu es un Fragment?
Es un fragmento de cdigo, parte de la pantalla o una parte de la pantalla.
Como regla, siempre debe de estar un Fragment dentro de una activity, o
puede haber varios fragments dentro de una activity.
Un fragment tiene su propio ciclo de vida, diferente al de una activity, el ciclo
del fragment es mayor al de una actividad.
En la imagen de la izquierda, una activity conteniendo un fragmento A llama a
otra actividad conteniendo un fragmento B, esto en un celular.
En cambio en una Tablet, ambos fragmentos pueden estar en la misma
pantalla, a esto se le llama Master/Detail, donde el Master sera el lado
izquierdo de la pantalla el cual indica que es lo que se va a ver y el detail es el
que muestra a partir de lo que se selecciona.
Y luego para que la activity que estamos usando, llame al fragmento que
acabamos de hacer, se agrega en la parte de Java de esa activity, la clase del
fragment que acabamos de hacer:
Y algo as saldra:
Y su programacin:
Y aqu en esta parte donde vamos a enviar datos, es donde vienen las
Interfaces.
Qu es una interfaz?
Un Fragment A no va a mandar un dato al Fragment B, porque son porciones de
cdigo, los mismos pueden ser modificados o eliminados, donde tiene que
existir un intermediario, la cual va a ser la activity, y la forma en que los
Fragments se comunican con la activity, es por medio de una interfaz.
Para eso, primero hay que declarar una interfaz, y esto se hace en el directorio
donde se encuentran los fragmentos y se le indica crear una nueva interfaz en
vez de una nueva clase.
Y luego en FragmentB, hay que crear un mtodo para recibir ese dato.
Fragmentos Dinmicos
Se crea en la activity principal esta parte grfica:
Recordar importar:
Y as se vera:
Dibujando en Android
En nuestro archivo grfico, XML, solamente dejamos el Layout, mientras que en
nuestro archivo lgico .Java, creamos nuestra propia vista de esta manera:
Parte lgica:
Permisos:
Temas
Es la fachada de la aplicacin, como la Material Light o Material Dark que
ya estn hechos en Android, los cuales podemos personalizar nosotros, o hacer
los nuestros.
Los temas estn muy relacionados a los estilos, los cuales se encuentran en el
directorio RES/Values
Donde indica el nombre del tema al que estn ligados esos estilos, y tambin
en el archivo Manifest:
Qu es un estilo?
Es una coleccin de propiedades que especifican el formato y la vista de una
ventana, se puede especificar propiedades como altura, margen, color, fuente
etc. similar a un estilo CSS de HTML.
Definiendo un Tema
Primero creamos un estilo, al cual le podemos definir un tema de una herencia
de un tema padre:
Una vez adentro del archivo del men, colocaremos los distintos Items de los
que compone nuestro men.
Y su parte lgica:
Toolbar
Con la Toolbar tenemos diferentes opciones, es un widget al que podremos
poner o quitar, vamos a tener que utilizar el tema Appcompat, se puede
trabajar con el Actionbar o sola.
El ActionBar
Y su parte de programacin:
Y as se ve:
Depuracin en Android
La parte de depuracin en Android, se usa en la parte del Android Monitor,
especficamente en el LOGCAT, donde le indica todos los errores que han
ocurrido
Donde se indica, primero el mes, la fecha, la hora, el cdigo del error, y por el
color nos indica que tan crtico es el error
Tambin salen enlaces a los que lo envan a la lnea exacta del error
Y se busca:
Se puede indicar que la activity va a tener una Action Bar con Tabs, pero le
decimos Swipe Views.
Con Tabs
Con Spinner
Luego creamos los Fragmentos con los que vamos a llenar esa Activity
El Navigation Drawer
Empezaremos creando una activity como Navigation Drawer, el cual queda
como un men del Action Bar.
Una vez que cambia lo necesario, en la parte lgica del archivo principal.java le
programamos los fragmentos a utilizar
Luego para llamar a esa nueva activity, se programa desde donde se quiere
llamar:
Y as se vera:
Y el botn salir:
Se programa:
Y as se ve :
Y su programacin:
Pero no sirvi
El Date Picker
Hacemos sus grficos:
Y hacemos su programacin:
Rating Bar
Su parte grfica:
Y su parte programada:
Al ejecutar la APP:
04-15 01:25:43.522 26671-26671/XXXXX.com.talleractivitiy D/Activity: Estoy en
onCreate()
Es donde se da las inicializaciones.
04-15 01:25:43.526 26671-26671/ XXXXX.com.talleractivitiy D/Activity: Estoy
en OnStart()
Se llama cuando voy a iniciar (Ejemplo aqui puedo llamar al webservice o aqui
puedo enviar un mensaje)
04-15 01:25:43.526 26671-26671/ XXXXX.com.talleractivitiy D/Activity: Estoy
en onResume()
si el proceso que est en el onstart es muy largo se puede hacer aqui tambien.
(Ejemplo: tambien se puede trabajar el webservice aqui)
Al pasar a Background:
04-15 01:26:03.212 26671-26671/ XXXXX.com.talleractivitiy D/Activity: Estoy
en onPause()
se llama antes de que se vaya al background, aqui se guardan los estados del
activity.
despues de restaurar se vuelve a llamar.
04-15 01:26:03.950 26671-26671/ XXXXX.com.talleractivitiy D/Activity: Estoy
en onStop()
ya no se ve nada. (Ejemplo aqu detener el sensor) se hace el realease o la
liberacion de lo que no ocupemos (liberar memoria).
y despues del onpause se vuelve a llamar.
Al pasar a activarla de nuevo:
Animaciones
Se crea el XML:
Creamos una carpeta llamada anim donde se van a meter todas las
animaciones, y la misma va dentro de la carpeta RES:
Luego se crea un archivo XML como animation resources file, a lo que luego le
indica el nombre de animacin que va a realizar, es un archivo por cada
Y se configura:
Y su parte lgica:
Luego creamos una nueva clase llamada producto con sus debidos atributos
(datos):
Cada atributo debe de tener un get y un set (obtener o enviar un dato), hacer
esto se llama POJO
Luego hacemos una clase PullParser para que lea el XML y lo pase a una lista
en un array, y luego hacemos el mtodo que vamos a utilizar, donde se
parsean los datos:
Y as su salida:
Leyendo un JSON
Un valor puede ser una cadena de caracteres con comillas dobles, o un nmero,
o true o false o null, o un objeto o un arreglo. Estas estructuras pueden
anidarse.
Luego definimos la lgica del botn de crear archivo, siempre con las
excepciones:
Y lo probamos:
Y programamos el botn:
Y as ser el resultado:
Luego verifica los datos que va a recoger del webservices, para hacer los
POJOS, esto se hace creando la clase de java pura, con el nombre de los datos
que vamos a recibir y con sus atributos y mtodos:
Atributos:
POJOS:
Luego hay que llenar el recyclerView o listView con los datos, utilizando los
adapters o adaptadores, donde en la parte lgica Principal, vamos a crear una
lista del tipo de la clase que acabamos de hacer, y con el nombre para esa
lista.
Luego creamos el mtodo en que inicializa los datos para poder extraerlos de
una buena manera:
Si est en lnea, le digo que me traiga los datos, creando otro mtodo
(requestData), indicando la URL como cadena, de donde estn esos datos:
La clase que nos va a permitir traer los datos, se llama HTTP URL connection,
por lo que creamos una nueva clase de java para administrar esas peticiones
HTTP:
Una vez ya cargado en esa parte, nos disponemos a cargar los datos en el
recyclerView con un adapter con la clase ViewHolder y su constructor, y donde
hacemos otro mtodo, que llamaremos llenaRecycler():
Pero antes de esto hay que definir como queremos que se vean los datos
dentro del recycleView, el cual permite ver los datos como una tarjeta, pero
para eso hay que agregar las dependencias dentro del gradle:
Y su parte lgica:
Para que una activity NO cambie sus datos al ser rotada, agregar la parte
marcada en azul en su Manifest: