PUE: Desarrollo de Aplicaciones Android – lección 12

Binded services (servicios vinculados)

Proyecto “alumnos”:

Se pasa datos mediante GSON de una Activity a otra.


DESCARGAR PROYECTO


PROYECTO NAVEGADOR

Se indica la activity que se inicia primero
Recogida de señales

DESCARGA PROYECTOS NAVEGADOR y TEST NAVEGADOR


TRABAJO CON FICHEROS

SD: Zona externa y zona interna

SD tiene una parte externa donde el resto de aplicaciones pueden acceder

Proyecto Alumnos

Descargar proyecto con ficheros (version ficheros internos)


Versión xterna (SD):

Configuración de la SD en el emulador. Asegurar que tenemos algo de espacio


BASES DE DATOS

Librerías: GreenDao y Realm

Nosotros utilizaremos el SQLite

MVP, quizás miramos algo del Model View Presenter

superclass = de quien hereda

Podremos utilizar esto para explorar la base de datos que se ha creado en forma de fichero en la app

DESCARGA DEL PROYECTO ACADEMIA, COLGADO POR EL PROFESOR

Código comentado:

package com.sergioguillen.android.academia;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.sergioguillen.android.academia.model.Alumno;

import java.util.List;

public class AlumnoAdapter extends BaseAdapter {

    private Context context;
    private List<Alumno> alumnos;
    private int layout;

    //los constructores en java se llaman igual que la clase que instanciamos, aunque si que puede estr sobrecargado
    public AlumnoAdapter(Context context, List<Alumno> lista, int layout){


        this.context = context;
        this.alumnos = lista;
        this.layout = layout;

    }

    public AlumnoAdapter() {
    }


    @Override
    public int getCount() {
        return alumnos.size();
    }

    @Override
    public Object getItem(int position) {
        return alumnos.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder vh;

        if (convertView == null){ //inflate=carga en memoria
            convertView = LayoutInflater.from(context).inflate(layout, null);
            vh = new ViewHolder(); //instanciamos el viewHolder
            vh.nombre = convertView.findViewById(R.id.tvNombre);
            vh.edad = convertView.findViewById(R.id.tvEdad);

            convertView.setTag(vh); //convertview= cada una de las precargas que se guardan de la lista
        } else {
            vh = (ViewHolder) convertView.getTag();
        }

        Alumno al = alumnos.get(position);

        vh.nombre.setText(al.getNombre());
        vh.edad.setText(al.getEdad());


        return convertView;
    }

    public class ViewHolder { //patron para hacer scroll y no vaya a pedales, para optimizar uso en memoria, especial para listas, se aconseja encarecidamente
        TextView nombre;
        TextView edad;
    }
}

Deja un comentario