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.
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í.
TextView es una clase pública heredada de la clase View.
Este elemento (widget) Permite mostrar texto al usuario mediante la interfaz gráfica, un TextView es un editor de texto completo, sin embargo la clase básica está configurado para no permitir la edición.
Jerarquía de TextView.
Jerarquía TextView
Aveces es importante conocer la jerarquía de un elemento pues sus subclases manejan muchos atributos similares.
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:gravity. Especifica la posición relativa del texto que contiene (cuando el texto es más chico que el TextView). Puede tomar uno, o varios valores separados por el operador "|" ("barra") algunos de los valores son: top, buttom, left, right, center.
android:textSize. Especifica el tamaño del texto que tendrá al mostrar un mensaje, los valores del atributo textSize pueden ser unidades flotantes (decimales) seguidas de su unidad de medida ejemplo 20.4 sp, las unidades son px (pixeles), sp (escala basada en el tamaño de la fuente), dp (densidad independiente de pixeles), in (pulgadas), mm (milimetros),
se recomienda usar la medida sp (escala basada en el tamaño de la fuente).
android:text. Indica el texto a mostrar en el TextView. 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.
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í.
Estos son los atributos más importantes para comenzar a mostrar textos en los TextView de nuestra aplicación, ya sean indicación o resultados de procesos, para saber más acerca de otros atributos recomiendo seguir la fuente de la información que se encuentra al final del post.
¿Cómo permitir la selección del texto en un TextView?
Un elemento TextView puede permitir a los usuarios copiar parte o la totalidad del valor del TextView para pegarlo en otro lugar, es necesario establecer en el atributo XML android: textIsSelectable a "true" o llame setTextIsSelectable (verdadero). La bandera textIsSelectable permite a los usuarios hacer gestos de selección en el TextView , que a su vez desencadena incorporados controles de copiar / pegar del sistema.