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

Apuntes sobre Desarrollo de Apps 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)
5 vistas14 páginas

Apuntes sobre Desarrollo de Apps 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