Esse exercício pedia que fizesse o AlunoDAO deixar de ser um SQLiteOpenHelper para TER um SQLiteOpenHelper. Então criei uma classe q extendia o SQLiteOpenHelper e coloquei como atributo da classe AlunoDAO, chamei de BancoHelper. E fiz a classe AlunoDAO criar uma instancia desse SQLiteOpenHelper. O certo a se fazer, segundo o exercício, é passar como atributo no construtor do AlunoDAO esse SQLiteOpenHelper. E de fato o que acontece quando crio tudo dentro do AlunoDAO, passando no construtor apenas o Context, é que eu recebo um NullPointerException do ListaAlunosActivity (maldito). Por que eu preciso passar como atributo o DBHelper? Por que eu não posso passar um Context no construtor do AlunoDAO e ele criar um objeto do DBHelper? Eu queria fazer assim para poder centralizar o uso desse DBHelper apenas aos DAOs, não há como fazer isso? Há algum problema nessa abordagem?