0% encontró este documento útil (0 votos)
24 vistas14 páginas

Guía Completa de Componentes Android

El documento es una guía sobre el desarrollo de aplicaciones Android, que incluye combinaciones de teclas, conceptos teóricos, clases y componentes de Android, así como ejemplos de código. Se abordan temas como la creación de interfaces, manejo de layouts, gestión de eventos, y almacenamiento de datos. También se incluyen consejos prácticos para la personalización y optimización de aplicaciones Android.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas14 páginas

Guía Completa de Componentes Android

El documento es una guía sobre el desarrollo de aplicaciones Android, que incluye combinaciones de teclas, conceptos teóricos, clases y componentes de Android, así como ejemplos de código. Se abordan temas como la creación de interfaces, manejo de layouts, gestión de eventos, y almacenamiento de datos. También se incluyen consejos prácticos para la personalización y optimización de aplicaciones Android.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

APUNTES APP ANDROID

Índice:

Combinaciones de teclas​ 2

Cosas Teoricas​ 2

Clases Android​ 4
TextView​ 4
CheckBox​ 4
RadioButton​ 4
RadioGroup:​ 4
Spinner​ 5
Toast​ 5
ListView​ 5
ImageButton​ 5
InputMethodManager​ 6

Interfaces Android​ 6
[Link]​ 6

Layouts:​ 6
LinearLayout:​ 6

Cosas varias:​ 6
Para reutilizar estilos o values:​ 6
Para que no se pueda rotar el dispositivo:​ 7
Para traducir a otro idioma:​ 7
Para generar icono de varias densidades facil:​ 7
Para traducir a otro idioma:​ 7
Para agregar otra ventana(Activity) en la app:​ 7
Para pasar datos entre ventanas:​ 8
Para crear un menu:​ 8
Para crear un dibujos:​ 9
Para que la app sea solo horizontal se pone:​ 10
Para poner un background que va de un color a otro:​ 10
Para poner un hover background a un boton:​ 11
Para recuperar un dato cuando se gira la pantalla :​ 11
Para recuperar un dato cuando se cierra o minimiza:​ 12
Para hacer un boton que vuelva atras:​ 12
Para obtener posicion presionada en pantalla:​ 12
Para hacer varios hilos:​ 13
Para obtener texto de un boton clickeado:​ 13
Para obtener String de algún elemento en java:​ 13
Para usar audio o video:​ 13
Listener de boton:​ 13
Para recibir información de un fragmento a una ventana:​ 14
Para usar camara se usa:​ 14

Combinaciones de teclas

-​ alt + space -> para añadir un string de tu lista de strings xml.

Cosas Teoricas
-​ Activity : Proceso de la aplicación
-​ Fragmentos :
​ Se usa para reutilizar código java,botones con sus estilos medidas todo en [Link]
para añadirlo a alguna ventana se pone en el xml el siguiente código:

<fragment
​ android:layout:width="match_parent"
​ android:layout_height="wrap_content"
​ android:id="@+id/menu"
​ android:name="selecciona app>java>carpeta de clases>selecciona la clase del fragment"
​ android:layout="@layout/nombre del layout fragment">

</fragment>
​ Para guardar fragmentos en un array se tiene que iniciar un objeto de la clase del
fragmento , ejm:

​ array[0]=new FragmentClass();

​ Para cambiar un fragmento por otro dinámicamente:

​ public void cambFrag(){


​ FragmentManager manejador=getFragmentManager();
​ FragmentTransaction transaccion=[Link]();
​ [Link]([Link],new FragmentClass());
​ [Link]();

Clases Android

TextView
​ Sirve para mostrar algún texto
​ -> .getText()
​ -> .setText()

CheckBox
​ -> .isChecked == retorna un boolean

RadioButton
​ -> .isChecked == retorna un boolean

RadioGroup:
​ ->Para obtener el id del botón seleccionado:

RadioGroup radiob=(RadioGroup)findViewById([Link]);
[Link]();
Spinner
​ Es donde aparecen varias opciones y seleccionas una.​
​ Para usarlo primero creas un array de Strings luego pones el siguiente código

​ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,[Link].simple_spinner_item,arrayString)

​ -> .setAdapter(adapter) == Asigna las opciones del spinner
-> .getSelectedItem() == tienes que convertirlo a string .

​ 1->Para personalizar tu spinner se crea un archivo layout, y en el xml se pone:


​ <xml version=”1.0”...>
​ <TextView
​ ​ android:propiedad=” ”
​ ​ android:textSize=”24sp”
​ ​ android:padding=”10sp”
​ ​ xmlns:android=” [Link] />

​ 2->Luego se pone en el ArrayAdapter en el segundo argumento


[Link]

Toast
​ Muestra una alerta en el telf.
​ -> [Link](this,”hola”,Toast.LENGTH_LONG).show()

ListView
​ para ver elementos ordenados en una lista ; como el spinner tienes que usar un
ArrayAdapter y ahí poner los estilos y el array string de elementos que contendrá.
​ -Para agregar una acción para cada elemento clickeado :
​ [Link](new [Link](){
​ ​ @override
​ ​ public void onItemClick(AdapterView<?> adapterView,View view,int i,long l){
​ ​ ​ [Link](“el elemento es ”+[Link](i));
}

});

ImageButton
​ Muestra un botón con una imagen de fondo :
​ Las imágenes se pegan en ‘res > mipmap’
InputMethodManager
​ Permite realizar una acción al teclado, u otro elemento que usaste para escribir en el
input.(como cerrar el teclado por ejemplo ,el código sería el siguiente)
​ InputMethodManager teclado=(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
​ [Link]([Link](),0);

Interfaces Android

[Link]
​ Sirve para detectar la tecla pulsada y hacer una acción según eso,ejem de código:
[Link](new EventoTeclado());

class EventoTeclado implements [Link]{


​ @Override
​ public boolean onEditorAction(){
​ ​ if(actionId==EditorInfo.IME_ACTION_DONE){
​ ​ ​ si la tecla de deone es presionada osea el check
​ ​ }
​ }
}

Layouts:

LinearLayout:
​ layout_weight:Es una propiedad para darle un porcentaje de la pantalla a cierto
elemento

Cosas varias:

Para reutilizar estilos o values:


​ En el archivo [Link] se pone los estilos:
​ <resources>
​ <style name="identificador">
​ ​ <item name="android:layout_width">wrap_content</item>
​ ​ <item name="android:layout_height">wrap_content</item>
​ </style>
</resources>

​ Para values en el archivo values se pondria:
​ ​ <dimen name=”identificador”>12dp</dimen>
​ Para usarlo solo se pondría @dimen/identificador cuando tengas que poner una
unidad de medida.Y para usar estilo se pondría en el elemento por ejem:
<TextView
style=”nombreEstilo”
/>​ ​

Para que no se pueda rotar el dispositivo:


​ Se tiene que ir a [Link] , luego dentro de activity se pone lo siguiente:
​ android:screenOrientation=”portrait”

Para traducir a otro idioma:


​ Se crea un archivo [Link] con el mismo nombre pero se le pone que es para
otro idioma.O crear otro layout especial para el idioma inglés

Para generar icono de varias densidades facil:


​ Entra al siguiente link: [Link]
​ Luego se reemplazan las imágenes que vienen por defecto

Para traducir a otro idioma:


​ Para crear otro layout pero en modo horizontal se crea un layout con el mismo
nombre pero se pone que es horizontal.

Para agregar otra ventana(Activity) en la app:


​ Se crea otro layout y se crea una clase java que hereda de Activity y dentro de esa
clase se pone:

protected void onCreate(Bundle savedInstanceState){


​ [Link](savedInstanceState);
​ setContentView([Link]);
}

​ Luego para que se ejecute se crea el siguiente método:

​ public void ejecutarVentana(View view){


​ Intent i=new Intent(this,[Link])
​ startActivity(i);
}

Se pone en el onclick del botón que quieres que muestre esta nueva ventana
luego en [Link] se declara la nueva ventana para eso se pone entre
<activity> el nombre de la [Link]én se le puede poner diversos temas de
apariencia a la ventana con android:theme=”@style/nombre” eso dentro de
<activity>

Para pasar datos entre ventanas:


​ En el método ejecutarVentana se pone (antes de startActivity(i)) lo siguiente:
​ [Link](“valor1”,var1); //primero va la clave luego el valor
​ [Link](..)....y asi

​ Para obtener los datos en el oncreate de la ventana receptora se pone lo siguiente :


​ Bundle datos=getIntent().getExtras();
int num1=[Link]("clave");

Para crear un menu:


​ ActionBar:Se crea un archivo de tipo Menu para el menú.En el xml se pone:

​ <menu xmlns:android="[Link]
​ xmlns:tools="[Link]
​ tools:context=".archivoJavaMain">

​ <item android:id="@+id/nombredeId"
​ ​ android:title="titulo de la opcion"/>
</menu>

​ Luego se pone lo siguiente en el código java para que se inicie.

@override
public boolean onCreateOptionsMenu(Menu mimenu){
​ getMenuInflater().inflate([Link],mimenu);

​ return true;
}

​ Para asignar que se va a hacer segun la opcion seleccionada:

@Override
public boolean onOptionsItemSelected(MenuItem opcion_menu){
​ int id=opcion_menu.getItemId();

​ if(id==[Link]){
​ ​ //metodo que hacer
​ ​ return true;
​ }
​ return [Link](opcion_menu);
}

​ Si le das un icono al elemento del menú xml se mostrara en la barra de arriba con el
siguiente código:

<item android:id="elid"
​ android:title="titulo"
​ android:icon="@android:drawable/ic_menu_preference"//direccion de ejemplo
​ app:showAsAction="never" o app:showAsAction="ifRoom" o
app:showAsAction="always"
/>

​ O también puedes crear una toolbar con el siguiente código:


​ Cabe recalcar que se tienes que crear el action bar igualmente

<[Link]
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="color/colorPrimary">

</[Link] >

​ Luego se incluye este layout en el main layout con el siguiente código:

​ <include layout="layout/nombre"
​ android:id="@+id/tool_bar"></include>

​ Luego en la clase main java se inicializa con el siguiente código:

​ toolbar=(Toolbar)findViewById([Link]);
setSupportActionBar(toolbar);

Por último en themes se cambia lo siguiente

parent=”[Link]”

o se pone:
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

Para crear un dibujos:


​ Aca tenemos un ejemplo para dibujar un círculo azul:
​ public class MiVista extends View{
​ ​ public MiVista(Context context){
​ ​ super(context);
​ }

​ protected void onDraw(Canvas canvas){



​ ​ Paint miPincel=new Paint();
​ ​ [Link]([Link]);
​ ​ [Link](8);
​ ​ [Link]([Link]);
​ ​ [Link](175,175,100,miPincel);
​ }
}

​ Luego en el método onCreate se cambia lo siguiente

​ setContentView(new MiVista(this));

​ Para dibujar un círculo con trazo(Path) pero con un texto alrededor se cambia lo
siguiente:

​ protected void onDraw(Canvas canvas){


​ Path miTrazo=new Path();
[Link](350,350,200,[Link]);
Paint miPincel=new Paint();
[Link]([Link]);
[Link](8);
[Link]([Link]);
[Link](miTrazo,miPincel);
​ ​ [Link](1);
[Link]([Link]);
[Link](40);
[Link](Typeface.SANS_SERIF);
[Link]("textos aca",mitrazo,40,100,miPincel);


}

Para que la app sea solo horizontal se pone:


​ En el [Link] dentro de las etiquetas <Activity> se pone:

​ android:screenOrientation=”landscape”
Para poner un background que va de un color a otro:
​ Se crea un xml dentro de src>main>res>drawable con el siguiente codigo:

<selector xmlns:android="[Link]
​ <item>
​ ​ <shape>
​ ​ ​ <gradient android:startColor="#426ac6"
​ ​ ​ android:endColor="#0d2969"
​ ​ ​ android:angle="90"
​ ​ </shape>

​ </item>

</selector>

​ Luego en el layout o elemento se pone el siguiente código:

​ android:background=”@drawable/nombre”

Para poner un hover background a un boton:


​ Usando el código anterior se cambia el <item>, luego se pondría el código del boton
en estado de reposo .

<item android:state_pressed="true">
​ <shape>
​ ​ <solid android:color="#de5bd2"/>
​ ​ <corners android:radius="24dp"/>
​ </shape>

</item>
<item android:state_pressed="true">
​ <shape>
​ ​ codigo reposo
​ </shape>

</item>

Para recuperar un dato cuando se gira la pantalla :


​ Se pone el siguiente código en el mainActivity java

public void onSaveInstanceState(Bundle estado){


​ [Link]("clave",4);
​ ....
​ [Link](estado);

}
public void onRestoreInstanceState(Bundle estado){

​ [Link](estado);

​ int recuperado=[Link]("clave");
​ //hacer lo que quieras con el recuperado aqui

Para recuperar un dato cuando se cierra o minimiza:


​ La info se guarda en una carpeta llamada shared_prefs .

public void onPause(){

​ [Link]();
SharedPreferences datos=[Link](this);
​ [Link] miEditor=[Link]();
​ [Link]("clave",9);
​ [Link]();

public void onResume(){

​ [Link]();
​ SharedPreferences datos =[Link](this);
​ variable=[Link]("clave",0);//0 seria si no lo encuentra
​ //aqui haces lo que quieras con la variable
}

Para hacer un boton que vuelva atras:

​ Se crea un método para el botón que se pone en el archivo java donde está el botón.

public void volver(View vista){

​ onBackPressed();
}
Para obtener posicion presionada en pantalla:
​ Dentro de la clase :

public boolean onTouchEvent(MotionEvent evento){

​ int x=(int)[Link]();
​ int y=(int)[Link]();

​ return false;
}

Para hacer varios hilos:


​ Se usa la clase Runnable (leer API) y clase Handler para ejecutar el hilo.

Para obtener texto de un boton clickeado:

public void metodoBoton(View view){


​ String texto=(String)((Button)vista).getText();

Para obtener String de algún elemento en java:


​ Se puede usar para los if o para otra cosa:

if([Link](getString([Link])))

Para usar audio o video:


​ Se crea una carpeta en res con el nombre de raw donde se almacenan los
archivos , luego en java :

MediaPlayer recurso

oncreate(){
​ ...
​ recurso=[Link](this,[Link]);
}

reproducir(){
​ [Link]();
}

Listener de boton:

[Link](new [Link](){
​ public void onClick(View v){
​ ​ //lo que quieres que haga

​ }
})

Para recibir información de un fragmento a una ventana:


​ Se crea una interface,primero en la actividad se implementa la interface y se declara el
método como parámetro el dato que quieres pasar,luego en el fragmento se pone el
siguiente código:

public void pasarDatos(){

​ Activity actividad=getActivity();
​ ((InterfazNombre)actividad).nombreMetodo(dato);
}

Para usar camara se usa:


​ La clase CameraManager , ejemplo de codigo:

CameraManager camara=(CameraManager)getSystemService(Context.CAMERA_SERVICE);
try{
​ idCamara=[Link]()[0];
}carch(Exception e){
​ [Link]();
}
//prender linterna
try{

​ [Link](idCamara,true);
}catch(Exception e){

​ [Link]();
}

También podría gustarte