Quando utilizo Cursor c = db.rawQuery("SELECT * FROM Alunos WHERE telefone = ?"); com apenas um argumento, no rawQuery a ?" é identificada , mas quando utilizo os dois argumentos Cursor c = db.rawQuery("SELECT * FROM Alunos WHERE telefone = ?",new String[]{telefone}); aparece um erro, dizendo que no lugar da interrogação esta sendo esperado uma expressão.
public boolean ehAluno(String telefone){
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.rawQuery("SELECT * FROM Alunos WHERE telefone = ?", new String[]{telefone});
int resultados = c.getCount();
c.close();
return resultados > 0;
}