Android Cero; Programación android desde cero en la nueva plataforma de desarrollo Android Studio. Tutoriales sobre instalación, configuración, programación. Todo de una forma sencilla y en español.
El día de hoy comenzaré con algunas publicaciones básicas acerca de lo que es el Material Design, esto porque como muchos ya saben Material Design está integrado en Android a partir de la versión 5 o L Android Lollipop una de las actualizaciones más esperadas. Y como muchos habrán notado la apariencia ha dado un gran salto con material design, por lo que voy a comenzar desde el inicio par aprender como y porque implementar los componentes.
¿Qué es el Material Design?
Material design es una normativa de diseño enfocado en la visualización del sistema operativo Android , además en la web y en cualquier plataforma. 1
¿Cual es el objetivo?
Crear un lenguaje visual que sintetiza los principios clásicos de un buen diseño con la innovación y la posibilidad de la tecnología y la ciencia.
Desarrollar un único sistema subyacente que permite una experiencia unificada a través de plataformas y tamaños de los dispositivos. Los preceptos móviles son fundamentales, pero el tacto, la voz, el ratón y el teclado son todos los métodos de entrada de primer clase. 2
¿Cuales son los principios?
El material es la metáfora
Una metáfora material es la teoría unificadora de un espacio racionalizado y un sistema de movimiento. El material se basa en la realidad táctil.
Las superficies y los bordes del material proporcionan indicaciones visuales que se basan en la realidad. El uso de atributos táctiles familiares ayuda a los usuarios a entender rápida y cómodamente. Sin embargo, la flexibilidad del material crea nuevos aspectos que sustituyen a los que en el mundo físico, sin romper las reglas de la física.
Los fundamentos de la luz, de la superficie, y el movimiento son clave para transmitir movimiento de los objetos, interactúan, y existen en el espacio y en relación a la otra.iluminación realista muestra costuras, divide el espacio, e indica las partes en movimiento.
Intrépido, gráfico, intencional
Los elementos fundamentales de diseño basado en la imprenta - tipografía, rejillas, el espacio, la escala, el color y el uso de imágenes - Guía de tratamientos visuales. Estos elementos hacen mucho más que agradable a la vista. Crean jerarquía, el significado y el enfoque. deliberadas opciones de color, imágenes de borde a borde, tipografía a gran escala, y el espacio en blanco intencionalmente crean una interfaz gráfica audaz y capaz de sumergir al usuario en la experiencia.
El énfasis en las acciones del usuario hace que la funcionalidad principal evidentes de inmediato y proporciona puntos de referencia para el usuario.
Movimiento proporciona significado
Movimiento respeta y refuerza el usuario como el motor primario. acciones de los usuarios primarios son puntos de inflexión que inician el movimiento, la transformación de todo el diseño.
Toda acción tiene lugar en un único entorno. Los objetos se presentan al usuario sin romper la continuidad de la experiencia, incluso a medida que se transforman y se reorganizan.
El movimiento es significativo y apropiado, que sirve para centrar la atención y mantener la continuidad. La retroalimentación es sutil pero clara. Las transiciones son e fi cientes pero coherente. 2
¿En que consiste?
En mi opinión, Google busca estandarizar las interfaces de usuario a traves de un diseño simple y agradable que involucra factores de interacción común haciendo uso de las capacidades tecnológicas, lo que quiero decir es que intenta hacer las interfaces más cómodas, fáciles de entender y utilizar, tomando en cuenta las dimensiones de las pantallas (teléfonos celulares, tabletas, laptop y computadoras de escritorio) y los métodos de entrada como son pantallas táctiles, teclado y ratón en equipos de escritorio. Creo que es una excelente iniciantiva ya que estandariza diversos aspectos de diseño que actualmente resultan muy atractivos. Por esta razón en las siguientes publicaciones iré explicando el funcionamiento de los componentes. Espero pronto retomar el habito de escribir en el blog para que se me facilite continuar con estos interesantes tutoriales. Fuentes:
Titulo:Formatos gráficos de almacenamiento.
Año de creación: 2015,
Autor: @eledevapps. Esta Infografía de los Formatos gráficos de almacenamiento fue creada como tarea para una clase en el año 2015, me gustaría compartirla por si es de utilidad para alguno de ustedes, para descargar la imagen en alta calidad pueden ir a mi cuenta de DeviantArt.
Puede contener hasta 256 colores, permite preservar la transparencia e imágenes rodantes, imágenes que tengan grandes bloques de colores planos.
JPEG (Joint Photographic Experts Group)
Utilizado para compartir fotografías y otras imágenes con tonos continuos en la web, soporte a los modelos de color CMYK y RGB. Compresión personalizable.
PNG (Portable Network Graphics)
Soporta imágenes de 24 bits y permite preservar la transparencia, soporta imágenes RGB, con colores indexados, en escalas de grises y en modo de mapa de bits.
BMP (Windows bitmap)
Soporta imágenes de 24 bits o menos de profundidad. Puede darse a estos archivos una compresión sin pérdida de calidad.
PSD
Admite capas, texto y almacena el estado de edición / manipulación en que puede haber quedado una imagen. Permite almacenar las imágenes con la calidad más alta, aunque a costa del uso de un gran espacio en disco.
PDF (Portable Document Format)
Es un formato de almacenamiento de documentos, que permite almacenar texto con formato, imágenes de diferentes tipos, etc.
RAW
Formato crudo. Usa un algoritmo de compresión de datos sin pérdida, profundad de color de 48 bits, contiene la totalidad de los datos de la imagen tal y como ha sido captada por el sensor digital de la cámara.
TIFF (Tagged Image File Format)
Es un formato de almacenamiento de alta calidad, admite una profundidad de color de 64 bits, gracias al uso de un algoritmo de compresión sin pérdidas consigue reducir su espacio.
Titulo: Aplicaciones de las gráficas por computadora.
Año de creación: 2015,
Autor: @eledevapps. Esta Infografía de las Aplicaciones de las gráficas por computadora fue creada como tarea para una clase en el año 2015, me gustaría compartirla por si es de utilidad para alguno de ustedes, para descargar la imagen en alta calidad pueden ir a mi cuenta de DeviantArt.
La computadora un dispositivo poderoso para producir imágenes en forma rápida y económica. Actualmente es posible aplicar gráficas por computadora en todas las áreas. Las gráficas por computadora se utilizan en diversas áreas facilitando la expresión de algún concepto, idea o problema, solución, etc.
Visualización (Estadística)
En ocasiones las simulaciones numéricas producen miles y a veces millones de valores de datos. El rastreo de estos grandes conjuntos de números para determinar tendencias y relaciones es un proceso tedioso e ineficaz. Pero si se convierten los datos a una forma visual, es frecuente que se perciban de inmediato las tendencias y los patrones.
Los colores son una manera de visualizar un conjunto de datos. Las técnicas incluyen trazos, gráficas y diagramas de contorno, presentaciones de superficie y visualización de interiores de volumen.
Diseño asistido por computadora (CAD)
Amplio rango de herramientas computacionales que asisten a ingenieros, arquitectos y diseñadores.
Estas herramientas se pueden dividir básicamente en programas de dibujo 2D y de modelado 3D. Las herramientas de dibujo en 2D se basan en entidades geométricas vectoriales como puntos, líneas, arcos y polígonos, con las que se puede operar a través de una interfaz gráfica. Los modeladores en 3D añaden superficies y sólidos. Se utiliza de forma habitual para el diseño de construcciones, automóviles, aeronaves, embarcaciones, naves espaciales, computadoras, etc.
Realidad virtual
Entorno de escenas u objetos de apariencia real, generado mediante tecnología informática, que crea en el usuario la sensación de estar inmerso en él. Dicho entorno es contemplado por el usuario a través de dispositivos como gafas o casco de realidad virtual, guantes o trajes especiales, que permiten una mayor interacción con el entorno así como la percepción de diferentes estímulos que intensifican la sensación de realidad. Así el usuario para realizar diversas tareas, según sea su fin como pueden ser prácticas miliares, médicas, o de entretenimiento como videojuegos.
Interfaces gráficas de usuario (GUI)
Es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación.
Habitualmente las acciones se realizan mediante manipulación directa, para facilitar la interacción del usuario con la computadora, esto mediante iconos como símbolos gráficos y descripciones textuales.
Entretenimiento
Actualmente las gráficas por computadora son utilizadas para producir películas, vídeos musicales y programas de televisión.
Algunas veces estas imágenes se combinan con actores reales y escenas filmadas, en otras, la película está generada mediante renderización por computadora y técnicas de animación. De esta forma son realizadas las películas animadas, videos, programas o partes de ellos como efectos especiales.
Así como también el desarrollo de personajes y entornos de vídeojuegos.
Titulo: Tecnologías emergentes y de clientes ligeros.
Año de creación: 2015,
Autor: @eledevapps.
Esta Infografía de las tecnologías emergentes y de clientes ligeros fue creada como tarea para una clase en el año 2015, me gustaría compartirla por si es de utilidad para alguno de ustedes, para descargar la imagen en alta calidad pueden ir a mi cuenta de DeviantArt.
Pon una laptop en una mesa e inmediatamente comenzará a cargar. Sin cables o una fuente de poder. Esa es la manera en que Intel piensa en la carga inalámbrica para laptops,
Intel quiera hacer que la carga inalámbrica sea tan fácil de encontrar como lo es hallar señal Wi-Fi, y quiere llevar esta tecnología a cafés, restaurantes, aeropuertos y otros lugares públicos.
Internet de las Cosas o dispositivos conectados en la nube. En el futuro , los chips y sensores conectados a la nube estarán en dispositivos de uso cotidiano. No serán sólo la televisión, tablets o móviles los que estén conectados sino también la calefacción, el coche, la nevera, marcapasos y. otros aparatos.
La Nanotecnología.
Es la nueva tecnología que se basa en la manipulación de materiales microscópicos y que permite trabajar y manipular las estructuras moleculares y sus átomos. Gracias a la nanotecnología se desarrollan importantes innovaciones en áreas como los nanotubos de carbono; la desalinización del agua.
Coches sin conductor.
Tanto Tesla y Google están trabajando en la construcción de un coche que se conduce solo. En Masdar, (Emiratos Árabes Unidos), la “Ciudad del Futuro”, los coches de transporte automatizados electrónicos (llamados podcars) se utilizan en subterráneos como parte de la iniciativa de construir una ciudad sin emisiones de carbono.
WiFi 802.11ad
Tasas de transferencia de hasta 4,6 Gbps, casi 600 MB/s.
Superiores a 1 Gbps ofrecido por el 'ac‘.
Superior a 300 Mbps teóricos del 'n'.
Utiliza la banda de los 60 GHz.
Carga usando el sonido.
Diminutos nanocables de óxido de zinc lo suficientemente ligeros para verse «agitados» por las vibraciones que el sonido induce en el aire, y que, gracias al efecto piezoeléctrico, producen electricidad.
Interfaz natural de usuario.
Natural User Interfaces.
(NUI) o interfaz natural de usuario es la tecnología que permite interactuar con un sistema, sin utilizar sistemas de mando , solo con movimientos gestuales.
Los interfaces de usuario naturales incluyen el tacto, la voz, el gesto de la mano, y el pensamiento.
Wearable Computers & HUD
(dispositivos portátiles) Los dispositivos portátiles se están volviendo cada vez más “normales”. Por ejemplo: Los Basis y los Pebble watches . La pulsera (cuantificador personal) Jawbone Up. El dispositivo pulsera de Nike FuelBand.Y las Google Glass, las GlassUp, o las Oakley’s Airwaves.
Robótica.
El profesor Hiroshi Ishiguro ha creado un robot gemelo llamado CD. Geminoid utiliza sensores de captura de movimiento para replicar absolutamente todos los movimientos del ser humano. Bill Gates ya anuncia una nueva revolución económica que, al parecer, se iniciará en 2016, por la creación y utilización de robots en la vida diaria.
La era de las máquinas inteligentes.
El bucle del crecimiento tecnológico se expandirá al desarrollo de maquinas inteligentes, según apuntan los expertos en las TI. Las aplicaciones analiticas junto con la comprensión del contexto favorecerá la aparición de algoritmos avanzados que permitan a los sistemas aprender por sí mismos y actuar sobre los aprendizajes asimilados.
Sensores biométricos.
Intel ofrecerá software para que sus usuarios puedan entrar a páginas web usando autentificación biométrica. La autentificación biométrica es confiable y segura, además que los usuarios no tendrán que aprenderse demasiadas contraseñas para distintos sitios. Actualmente Apple usa la autentificación biométrica para autorizar pagos de tarjeta de crédito a través de su servicio Apple Pay, e Intel quiere llevar un concepto similar a las PCs.
Evolución de los dispositivos móviles hasta 2015, esta infografía fue creada como tarea para una clase, me gustaría dejarla aquí por si es de utilidad para alguno de ustedes, para descargar la imagen en alta calidad pueden ir a mi cuenta de DeviantArt.
¡Hola! Tenía mis blogs un olvidados por lo ocupado que he estado con asuntos de la universidad, hace unas semanas que he estado con algo de tiempo libre y he decidido volver al desarrollo en Android y retomar la producción de otros proyectos entre ellos colaborar haciendo pequeños tutoriales de Android.
Instalación de Android Studio
Por esta razón he vuelto a instalar Android Studio, que hace medio año o poco más que no utilizaba volviendo a recodar cosas básicas de Android he visto que, con la aparición de las nuevas versiones es de suponer nuevas funciones que no tengo la más mínima idea de como funcionan, pero se trata de aprender así que retomando instalé Android Studio he intente hace una simple aplicación que tomara los textos de unos EditText y los mostrara en elementos TextView cual fue la sorpresa que ni eso me funcionó, así que posiblemente los tutoriales vayan a la par del conocimiento que vaya practicando.
También quiero diseñador nuevas imágenes para el blog Android Cero ya que ahora forma parte de mi dominio, así que pronto verán nuevas imágenes en mis blogs.
Tabla comparativa de las diferencias entre los gráficos 2D y los gráficos 3D.
Gráficos 2D
2D = dos dimesiones. (ejes).
Objeto 2D imágenes planas que carecen de profundidad y sólo puede moverse verticalmente ( eje y) u horizontal (eje x ).
Ejemplos de figuras en 2D: cuadrado, triángulo, círculo.
La fotografía o el dibujo de un auto suele ser bidimensional; porque por medio del dibujo solamente se puede ver y medir la longitud y la anchura; pero no se puede conocer su profundidad.
Ventajas:
Imagenes limpias y con limites establecidos, más fáciles de manipular.
Permiten el uso de gráficos vectoriales.
Pueden ser percibidos como 3D con sombra e iluminiación.
Desventajas:
El parecido de los gráficos 2D a la realidad es muy pobre.
Gráficos 3D
3D = tres dimesiones (ejes).
Objeto 3D objeto con profundidad se mueven en tres direcciones, vertical (eje y) , horizontal (eje x ) y hacia adelante o hacia atrás (profundidad en el eje z.)
Ejemplos de figuras en 3D: cilindro, esfera, cubo, pirámide.
Los objetos que vemos en nuestra realidad son tridimensionales; porque podemos medir cada una de las tres dimensiones antes mencionadas.
Ventajas:
Son apreciables desde varias perspectivas.
Pueden resultar más inmersivos.
Permite más efectos.
Desventajas:
Todavía no se ven tan reales.
Los equipos para manipularlos necesitan mayores capacidades, de proceso.
Pueden resultar confusos, para determinado publico.
La referencia de la información fue obtenida de los siguientes enlaces, la importancia o prioridad de las diferencias pueden variar y pueden existir muchas otras, pero estas son algunas que fueron funcionales para mi, para más información por favor visita los enlaces.
Además recuerda si deseas utilizar esta imagen a en tu web hacer referencia del origen Android Cero.
Convertir Array String a ArrayList, como convertir un Arreglo String a un ArrayList, esto es útil por ejemplo para llenar un Spinner (Ese fue el uso que yo le di).
Bien el código es el siguiente:
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringArrayTest
{
public static void main(String[] args)
{
String[] words = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
List miLista = Arrays.asList(words);
for (String e : miLista )
{
System.out.println(e);
}
}
}
Ahora bien para usarlo en una actividad de Android lo que se debe usar principalmente son las siguientes lineas:
String[] words = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};
List miLista = Arrays.asList(words);
Lo que es el arreglo String y el arrayList, importante recordar que para hacer uso de eso es necesario importar las librerías.
Una forma muy sencilla compartir contenido texto plano a otra aplicación Android es ACTION_SEND, el código JAVA para implementar este método es el siguiente:
Intent sendText = new Intent();
sendText.setAction(Intent.ACTION_SEND);
sendText.putExtra(Intent.EXTRA_TEXT, "Texto entre comillas o String a enviar");
sendText.setType("text/plain");
startActivity(sendText);
Compartir texto plano entre aplicaciones permite, compartir mensajes, enlaces URL, cualquier tipo de clave alfanumérica.
Para implementar el código anterior solo hace falta incluirlo dentro del evento donde se quiere ejecutar, por ejemplo dentro del método onClick de un botón, etc.
Para más información visita click aquí.
El resultado es la siguiente imagen según aquellas aplicaciones que tengamos instaldas ennuestro dispositivo así como aquellas que puedan recibir contenido.
En este ejemplo les mostraré como usar un elemento ScrollView en Android, este elemento permite presentar contenido mayor al tamaño de nuestra pantalla. Cuando el contenido supera el tamaño aparece automática el ScrollView (cuando está implementado). La práctica una presenta la tabla de 8 por lo que se necesita desplazar para ver todos los resultados obtenidos desde el código Java click aquí.En este ejemplo mostraré como poner más elementos XML en la pantalla para ver el funcionamiento del ScrollView, la práctica será con botones pero pueden incluirse otros elementos como widgets.
Los pasos son muy sencillos, después de crear el proyecto vamos a insertar el es Scrollview después un Linearlayout con orientación vertical y dentro del Layout algunos botones, lo suficientes para llenar la pantalla y así poder desplazarnos.
La interfaz se ve de la siguiente forma.
Interfaz ScrollView XML
Y el resultado es el siguiente
ScrollView XML
Código XML como implementar un ScrollView
En este ejemplo los botones no tienen el atributo ID pero al querer vincularlos o asociarlos con los objectos en Java será necesario incluir el atributo ID.
En este ejemplo les mostraré como usar un elemento ScrollView en Android, este elemento permite presentar contenido mayor al tamaño de nuestra pantalla. Cuando el contenido supera el tamaño aparece automática el ScrollView (cuando está implementado).
El ejemplo usará una TextView donde se muestre la tabla de multiplicar del número 8 hasta el 20, de esta forma para iniciar también de forma básica con el uso del ciclo for.
Lo que vamos a hacer será:
Crear en nuevo proyecto Android.
Insertar los elementos XML
Asociar los elementos XML con sus objetos en Java e implementar el método OnClickListener en el botón.
Insertar un código del botón "Generar" (Generará la tabla al ser pulsado).
1 Comenzar creando el nuevo proyecto para Android click Aquí. 2 Insertar los elementos XML al Layout de nuestra aplicación, en mi caso usaré un botón para mostrar la acción. La interfaz queda como la siguiente:
ScrollView elemento XML
El código XML:
Para realizar la asociación de los elementos XML asignamos los ID a los elementos TextView y Button.
Importante recuerda que ScrollView solo puede tener un elemento hijo (child), se recomienda el uso de un Layout con orienteación vertical, si necesitas el desplazamiento horizontal deberás utilizar HorizontalScrollView. 3 Asociar los elementos XML con sus objectos en Java y activar en el botón el método onClickListener.
4 Insertar un código del botón "Generar" Por último necesitamos la lógica del programa que se ejecutará al pulsar el botón.
El código Java de la tabla del 8 es la siguiente:
String tabla=""; //Declarar la variablee String para guardar los resultados
Toast.makeText(ZASApp4MainActivity.this, "Generando tabla del 8", Toast.LENGTH_SHORT).show();
//Se implementa un mensaje toast
for (int i = 1; i < 21; i++){
// eL ciclo se repetira 20 veces
//cada vez que se repite el ciclo se agrega al string lo que esta en
// comillas al mismo tiempo que se realiza la operacion
tabla+="8 X "+i+" = "+8*i+"\n";
}
//Despues de tener los datos en la variable String tabla se muestra el
//resultado en el TextView
tv1.setText(tabla);
Si deseas ver la práctica sobre los mensajes emergentes click aquí. Por último solo tenemos que ejecutar la aplicación, al pulsar el botón "generar" podremos ver como se muestra la tabla del 8, la cual no cabe en la pantalla pero podemos desplazarnos por ella.
En la primer imagen se muestra la aplicación recientemente ejecutada, La segunda imagen muestra el botón recién pulsado. Por último la tercer imagen muestra el desplazamiento hasta la última multiplicación.
Códigos finales.
Código XML.
String.xml
ZASApp4Hello world!SettingsGenerar
Activity Código Java.
package com.example.zasapp4.zasapp4;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class ZASApp4MainActivity extends ActionBarActivity {
Button btn1;
TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zasapp4_main);
btn1 = (Button)findViewById(R.id.button);
tv1 = (TextView)findViewById(R.id.textView);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String tabla=""; //Declarar la variablee String para guardar los resultados
Toast.makeText(ZASApp4MainActivity.this, "Generando tabla del 8", Toast.LENGTH_SHORT).show();
//Se implementa un mensaje toast
for (int i = 1; i < 21; i++){
// eL ciclo se repetira 20 veces
//cada vez que se repite el ciclo se agrega al string lo que esta en
// comillas al mismo tiempo que se realiza la operacion
tabla+="8 X "+i+" = "+8*i+"\n";
}
//Despues de tener los datos en la variable String tabla se muestra el
//resultado en el TextView
tv1.setText(tabla);
}
});
}
}
Es un contenedor para una jerarquía de vistas que se puede desplazar por el usuario, permitiendo que la interfaz sea más grande que la pantalla física. Un SrollView es un FrameLayout, esto significa que solo debe contener un elemento hijo (child), este elemnto hijo debe contener todos los elementos y contenido dentro del ScrollView. Normalmente es utilizado como hijo un elemento LinarLayout con orientación vertical el que contendrá a los otros elementos, por los que el usuario podrá desplazarse.
ejemplo:
Único "hijo" de ScrollView contiene botones
Jerarquía de ScrollView.
Jerarquía ScrollView
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
Principales atributos de ScrollView.
Existe gran cantidad de atributos y métodos, pero estas son usadas para programación más compleja como animaciones y otro tipo de características, para hacer uso de ScrollView esencialmente solo se necesita establecer el área a usar ancho y alto y en ocasiones se utilizan los margenes tanto exteriores como interiores así mismo el color de fondo.
android:width. Permite establecer el ancho del SrollView, los valores del atributo width pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:height. Permite establecer el alto del ScrollView, los valores del atributo height pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:padding. Permite establecer el margen interior del Scrollview, los valores del atributo padding son px (pixeles), estas medidas aplican para todos los bordes del ScrollView, también existe el atributo independiente para cada borde.
android:background.Permite establecer el fondo del Scrollview, los valores del atributo background son "#rgb", "#argb", "#rrggbb", o "#aarrggbb", los valores son colores rgb o alfargb ambos también en formato hexadecimal. (El forma argb permite aplicar transparencias en los colores), ejemplo: android:background="#fff1ff1f"
Para ver más valores visita la fuente original: http://developer.android.com/reference/android/widget/ScrollView.html
Un Toast (notificación emergente), un mensaje que aparece en la pantalla pero sin bloquear otras funciones de la aplicación. esto quiere decir que la actividad permanece visible y activa. El mensaje o notificación no acepta interacción lo que significa que al tocarla no sucede nada.Un mensaje Toast aparece, queda visible durante un tiempo previamente establecido después desaparece. Los Toast son muy útiles para mandar mensajes al usuario con efectos integrados de forma general en el sistema.
Este tipo de mensajes puede mostrar simplemente texto, también puede incluir imágenes (iconos) o texto con imágenes (iconos), cada programador puede personalizar su mensaje emergente según sus necesidades. Existe la posibilidad de crearlo como un objeto, definirlo y después asignarle los valores, de este modo se tienen ciertas ventajas de personalizar en Toast como la posición, los margenes, Pero ahora mostraré el Toast sencillo.
Para usar este widget se tiene que importar su librería con la siguiente linea.
import android.widget.Toast;
Una instancia Toast tiene tres atributos, su estructura es la siguiente.
contexto.- Activitdad de la aplicación donde se presentará el mensaje emergente toast. texto.- Variable String que contendrá el mensaje a mostrar. duracion.- Variable entera que acepta valores Toast.LENGTH_SHORT (0) o Toast..LENGHT_LONG (1).
Para lanzar el mensaje emergente solo tenemos que insertarlo en la parte de nuestra actividad donde se ejecutará, importante para ejecutar un mensaje Toast debe estar dentro del código de una actividad.
Mi aplicación realiza la siguiente actividad, al pulsar un botón que dice "Generar" muestra un Toast (mensaje emergente) que dice "Pulsaste el boton". El resultado es el de la imagen.
Espero que este post haya sido de ayuda, todavía seguimos con cosas simples para la programación en Android desde cero recuerda seguirnos en las redes sociales para ayudar a crecer este proyecto. Escribe tus dudas y comentarios.
Que tal? el día de hoy les mostraré como capturar el texto de un EditText también conocido en Android como campo de texto, tal vez se estén haciendo la pregunta para que sirve un EditText, bien un EditText es un elemento muy importante en Android ya que nos permite la interacción con el usuario en la forma de recibir datos del usuario, por ejemplo se puede usar para recibir:
Nombres, Apellidos.
Edades
Números telefónicos.
Valores a operar (valor1 y valor2 que pueden ser sumados, restados, multiplicados, etc).
Para saber más acerca del EditText click aquí. Bien lo que haré el día de hoy es una aplicación en la cual ingresemos nuestro nombre o cualquier dato en un TextView y al pulsar un botón nos muestre Hola y nuestro nombre o el dato ingresado. Pasos:
Crear nuevo proyecto o editar existente (yo crearé uno).
Insertar los tres elementos a utilizar en el layout EditText, Botón (Button), TextView.
Asociar los elementos XML con sus objetos en Java.
Escribir el código, para obtener los datos del EditText y mostrar en el TextView "Hola" seguido de los datos ingresados en el EditText todo esto al pulsar el Botón (Button).
1 Crear el nuevo proyecto, si quieres saber como crear un nuevo proyecto en Android Studio click aquí. 2 Insertar los tres elementos en el layout.
Ahora procedemos a insertar los tres elementos que necesitaremos en el layout de la aplicación, para insertar los elementos lo pueden hacer desde la forma gráfica o directamente mediante código XML. Lo que haré será asignar su correspondiente ID a cada elemento XML y escribir los textos que aparecerán en el botón y en el campo de text, para el campo de texto usare el atributo android:hint.
La interfaz gráfica hasta el momento se ve así. Si no sabes cambiar el texto de los elementos View click aquí.
Elementos EditText, Button, TextView
Y el código XML está así.
Y mi archivo de strings así.
ZASApp3Hello world!SettingsNombreAcceder
3 Asociar los elementos XML con sus objetos en JAVA.
Ahora vamos a la Actividad (Activity) de nuestra aplicación creamos los objetos correspondientes en JAVA y los asociamos a los elementos XML mediante el método findViewById() esto es muy sencillo pero si necesitas ayuda click aquí. El código Java hasta el momento es el siguiente.
package com.example.zasapp3.zasapp3;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class ZASApp3MainActivity extends ActionBarActivity {
EditText et1; //Declaracion de un objeto EditText llamado et1
Button btn1; //Declaracion de un objeto Button llamado btn1
TextView tv1; //Declaracion de un objeto TextView llamado tv1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zasapp3_main);
/* Asociacion de los objetos en Java con sus correspondientes
elementos XML mediante el metodo findViewById
*/
et1 = (EditText)findViewById(R.id.editText1);
btn1 = (Button)findViewById(R.id.btn1);
tv1 = (TextView)findViewById(R.id.textView1);
}
}
4 Obtener datos o leer datos de EditText.
Primero ponemos nuestro objeto btn1 en modo escucha con el método setOnClickListener() dentro de este método comenzamos a escribir lo que queremos que pase, si quires ver un tutorial de método onClick click aquí.
Lo primero es obtener el texto del campo de texto o EditText y guardar el texto en una variable String, esto lo haremos con el metodo getText() y para convertirlo a String usaremos el método toString().
Por último damos escribimos la linea para mostrar el texto en el TextView para ello se usara el método setText(String). Dentro del parentesis debe ir un dato tipo cadena para que muestre la palabra hola sería lo siguiente setText("Hola") ahora solo concatenamos el dato que obtuvimos i se guardo en la variable string dato y quedaría de la siguiente forma. tv1.settext("Hola "+dato);
El código Java es el siguiente.
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String dato = et1.getText().toString();
/* El metodo getText() obtiene el dato escrito con el metodo toString()
se convierte a String para poder manipularlo como tal, por ultimo
se muestra en el textView con el metodo .setText()
*/
tv1.setText("Hola " +dato);
}
});
Importante este código va dentro de onCreate. Al hacer esto podemos correr nuestra aplicación.
El código XML no tiene ninguna modificación y el código java final es el siguiente.
package com.example.zasapp3.zasapp3;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class ZASApp3MainActivity extends ActionBarActivity {
EditText et1; //Declaracion de un objeto EditText llamado et1
Button btn1; //Declaracion de un objeto Button llamado btn1
TextView tv1; //Declaracion de un objeto TextView llamado tv1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zasapp3_main);
/* Asociacion de los objetos en Java con sus correspondientes
elementos XML mediante el metodo findViewById
*/
et1 = (EditText)findViewById(R.id.editText1);
btn1 = (Button)findViewById(R.id.btn1);
tv1 = (TextView)findViewById(R.id.textView1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String dato = et1.getText().toString();
/* El metodo getText() obtiene el dato escrito con el metodo toString()
se convierte a String para poder manipularlo como tal, por ultimo
se muestra en el textView con el metodo .setText()
*/
tv1.setText("Hola " +dato);
}
});
}
}
Esto es todo ahora correr y probar la aplicación podremos, el resultado será el siguiente.
En la primer imagen se muestra, la pantalla al iniciar la aplicación, luego se ingresa el dato (nombre)
y se pulsa el botón para obtener los valores escritos en el campo de texto (EditText) y muestra Hola más el valor. Y así es como se obtienen valores de los EditText o campos de texto, espero que les haya sido de utilidad este tutorial, no olvides compartir el post y seguirnos en las redes sociales, hasta la próxima.
Es un campo de texto (Text field) editor de texto plano. Un campo de texto permite que al usuario escribir texto en la aplicación. Puede ser de una sola línea o de múltiples líneas. Si toca un campo de texto muestra automáticamente el teclado. Además de escribir, los campos de texto permiten una variedad de otras actividades , como la selección de texto (cortar, copiar , pegar) y datos de consulta a través de auto-realización .
Jerarquía de EditText.
Jerarquía EditText
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
Otros de los atributos básicos se pueden ver en TextView.
android:width. Permite establecer el ancho del TextView, los valores del atributo width pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:height. Permite establecer el alto del TextView, los valores del atributo height pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 dp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros), también se puede usar fill_parent (llenar el tamaño del padre), match_parent (llenar el resto del padre), wrap_content (ajustarse al contenido).
android:hint.Indica el texto a mostrar en el la vista (EditText). mientras el campo se encuentra vacío, ejemplo: un campo que indique "nombre" y al comenzar a escribir el valor "nombre" desaparecerá. El valor de este atributo debe ser de tipo String. cuando lo textos son estáticos (predefinidos) la variable String a mostrar debe hacer referencia a res/strings, aquí existe la posibilidad de escribir lo que mostrará la aplicación en diferentes idiomas según la configuración del sistema, esto para internacionalizar la aplicación.
Suele ser más usado el atributo hint que el atributo text porque hint desaparece cuando se comienza a escribir algo dentro del campo de texto.
android:inputType. Permite establecer el tipo de datos o valores que va a admitir el campo de texto, entre los valores del del campo de texto están números enteros, números decimales, fechas, contraseñas, direcciones de correo electrónico, direcciones postales, números de teléfono, etc.
Sirve para optimizar una aplicación ayudando a decidir el método y tipo de datos que se va a introducir, pues despliega el tipo de teclado necesario para facilitar la usabilidad. Puede ser uno o más tipos de datos separados por el operador "|" ("barra") algunos de los valores son: text, textPassword, date, phone, number.
android:id. Proporciona un nombre identificador para este elemento vista, para luego ser asociado con su correspondiente y en Java y poder ser manipulado desde la Activity. La recuperación o asociación de componentes se realiza mediante el método findViewById(), para ver un tutorial sobre como asociar componentes click aquí.