Android. Práctica...Proyectos de desarrollo para dispositivos móviles Práctica Android. Menú...

Post on 04-Feb-2020

15 views 0 download

Transcript of Android. Práctica...Proyectos de desarrollo para dispositivos móviles Práctica Android. Menú...

Proyectos de desarrollo para dispositivos móviles

PrácticaAndroid.

❖ Menú lateral❖ RecyclerView❖ Networking

Creando el proyecto

❖ Crea un proyecto nuevo.

❖ Escribe tu nombre en el proyecto.

❖ Selecciona API 19 como mínimo.❖ Selecciona como tipo de

actividad Navigation Drawer Activity.

❖ La actividad principal es MenuPrincipalActiv

TuNombre

Prueba❖ Corre la app y verifica el funcionamiento.

❖ Observa el comportamiento del botón de menú (arriba-izquierda)

Personalizar el menú❖ Cambia el menú para que

muestre las opciones como se ve en la imagen. Muestra tu información.

❖ Ajusta el método onNavigationItemSelected para atender a las tres nuevas opciones.

❖ Agrega al Manifiesto el permiso de INTERNET.

public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here. int id = item.getItemId();

if (id == R.id.nav_descarga_texto) { // Handle the camera action } else if (id == R.id.nav_descarga_imagen) {

} else if (id == R.id.nav_descarga_json) {

} ...

nav_header_menu_principal.xml

strings.xml

activity_menu_principal_drawer.xml

Descargar texto de la red❖ Crea un fragmento (DescargaTextoFrag)

que servirá para mostrar cómo descargar un recurso desde la red.

❖ Configura los componentes como se ve en la figura.

❖ El ScrollView servirá como contenedor del TextView que podrá mostrar una gran cantidad de texto.

❖ Al iniciar el fragmento, descargamos el contenido desde la red.

Fast Android Networking

❖ https://github.com/amitshekhariitbhu/Fast-Android-Networking

❖ Agrega la librería y sincroniza:implementation 'com.amitshekhar.android:android-networking:1.0.2'

❖ Inicializa en onStart:AndroidNetworking.initialize(getApplicationContext());

❖ Programa la descarga en onResume:AndroidNetworking.get("https://www.gutenberg.org/cache/epub/2000/pg2000.txt")

.build() .getAsString...

Muestra el fragmentoMuestra el fragmento cuando el usuario selecciona esta opción en el menú.

public boolean onNavigationItemSelected(MenuItem item) { // ...

if (id == R.id.nav_descarga_texto) { DescargaTextoFrag fragDescargaTexto = new DescargaTextoFrag(); FragmentTransaction transaccion = getSupportFragmentManager().beginTransaction(); transaccion.replace(R.id.contenedorFrag, fragDescargaTexto); transaccion.commit(); } else if (id == R.id.nav_descarga_imagen) {

} else if (id == R.id.nav_descarga_json) {

}

return true; }

Prueba❖ Corre la aplicación y verifica que descarga el

contenido en texto. El texto es extenso, espera a que cargue.

❖ Prueba con otros recursos en la red, incluyendo scripts en PHP.

❖ RETO: muestra una animación de espera mientras descarga el contenido.

private void mostrarDialogoEspera() { this.dialogoEspera = new ProgressDialog(this); // this = actividad dialogoEspera.setProgressStyle(ProgressDialog.STYLE_SPINNER); dialogoEspera.setMessage("Descargando..."); dialogoEspera.setIndeterminate(true); dialogoEspera.setCanceledOnTouchOutside(false); dialogoEspera.show(); }

Descargar contenido binario❖ Crea un Fragmento

(DescargaImagenFrag) que servirá para mostrar cómo descargar un recurso binario desde la red.

❖ Configura los componentes como se ve en la figura.

❖ El ImageView servirá para mostrar el contenido descargado.

Fast Android Networking

❖ https://upload.wikimedia.org/wikipedia/commons/d/dd/Big_%26_Small_Pumkins.JPG

❖ Inicializa:AndroidNetworking.initialize(this);

❖ Programa la descarga:AndroidNetworking.get("https://upload.wikimedia.org/wikipedia/commons/d/dd/Big_%26_Small_Pumkins.JPG") .setPriority(Priority.MEDIUM) .build() .getAsBitmap...

Prueba❖ Muestra el fragmento cuando el

usuario selecciona esta opción en el menú.

❖ Corre la aplicación y verifica que descarga la imagen.

❖ RETO: muestra una animación de espera mientras descarga el contenido.

Descargar desde un Webservice❖ Prueba descargando el texto de los siguientes webservices:

❖ https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=hacker&format=json

❖ https://newton.now.sh/derive/x^4+2x-1

❖ Crea un fragmento para la tercera opción y muestra información de libros. Utiliza un RecyclerView para mostrar los resultados.https://www.googleapis.com/books/v1/volumes?q=isbn:9781449362188

https://www.googleapis.com/books/v1/volumes?q=title:android