Curso de actualización

Desarrollo profesional de aplicaciones móviles

Marzo 2018

ANDROID

Resources

Blog

YouTube

Algunos tutoriales

Tools

Android Studio 3

Vysor

Material Design

Cosas que tenemos que saber

Android Architecture Components

Información

Room

Librería para el mapeo de objetos SQLite

ListActivity

ContactActivity

Repositorio

Componentes

AppDatabase

Gestor de la base de datos, sirve como principal punto de acceso a la base de datos relacional para su configuración

Entity

Representa una tabla en la base de datos

DAO

Contiene los métodos para acceder a la base de datos

@Entity(tableName = "contacts")
@TypeConverters(DateConverter.class)
public class Contact {

    @PrimaryKey(autoGenerate = true)
    private long id;
    private String name;
    private String address;
    private Date birthday;
    private String phone;
    private String email;

ContactDao.java

@Dao
public interface ContactDao {

    @Query("SELECT * FROM contacts ORDER BY name ASC")
    LiveData<List<Contact>> findAllContacts();

    @Query("SELECT * FROM contacts")
    List<Contact> getAllContacts();

    @Query("SELECT * FROM contacts WHERE id=:id")
    Contact findContactById(String id);

    @Query("SELECT * FROM contacts WHERE id=:id")
    Contact findContact(long id);

    @Insert(onConflict = IGNORE)
    long insertContacto(Contact contact);

    @Update
    int updateContact(Contact contact);

    @Update
    void updateContact(List<Contact> contacts);

    @Delete
    void deleteContact(Contact contact);

    @Query("DELETE FROM contacts")
    void deleteAll();
}

ContactDao.java

AppDatabase.java

@Database(entities = {Contact.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {

    private static AppDatabase INSTANCE;

    public abstract ContactDao contactModel();

    public static AppDatabase getDatabase(Context context) {
        if (INSTANCE == null) {
            INSTANCE = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "contactos")
                    .allowMainThreadQueries()
                    .build();
        }
        return INSTANCE;
    }

Otro ejemplo

Con arquitectura MVP (Modelo Vista Presentador)

Testing

Unit Tests

UI Tests

UI Tests para Android en Android Studio

Expresso

Información

Algunos ejemplos

Made with Slides.com