Binded services (servicios vinculados)

Proyecto “alumnos”:
Se pasa datos mediante GSON de una Activity a otra.

PROYECTO NAVEGADOR







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):





BASES DE DATOS
Librerías: GreenDao y Realm


Nosotros utilizaremos el SQLite

MVP, quizás miramos algo del Model View Presenter








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; } }