Melhor maneira de comparar datas no Android

Eu estou tentando comparar uma data em um formato de seqüência de caracteres para a data atual. Foi assim que eu fiz (não testei, mas deveria funcionar), mas estou usando métodos obsoletos. Alguma boa sugestão para uma alternativa? Obrigado.

P.S. Eu realmente odeio fazer coisas de Date em Java. Há tantas maneiras de fazer a mesma coisa, que você realmente não sabe qual é a correta, daí a minha pergunta aqui.

String valid_until = "1/1/1990";

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
Date strDate = sdf.parse(valid_until);

int year = strDate.getYear(); // this is deprecated
int month = strDate.getMonth() // this is deprecated
int day = strDate.getDay(); // this is deprecated       

Calendar validDate = Calendar.getInstance();
validDate.set(year, month, day);

Calendar currentDate = Calendar.getInstance();

if (currentDate.after(validDate)) {
    catalog_outdated = 1;
}

questionAnswers(13)

yourAnswerToTheQuestion