¿Cómo leer datos de Firebase ONCE utilizando java / android?

Estoy intentando usar la API de Java para leer datos de una base de datos de Firebase en una aplicación de Android en el evento onCreate (). En otras palabras, estoy tratando de hacer la lectura más simple posible, el equivalente a ...

ref.once('value', function(snapshot) {

});

... en la API de Javascript. Estoy intentando usar el método addEventListenerForSingleValueEvent (), pero parece querer que anule el método onDataChange (), que no es lo que quiero. Quiero obtener los datos cuando la ejecución del programa llegue a esta línea, independientemente de los eventos de la base de datos. Aquí está mi función (sin terminar) ...

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.poll_table);    

        // First get the table layout
        tbl = (TableLayout) findViewById(R.id.pollsTable);

        // Now let's create the header
        TableRow tHead = createPollsTableHeader();

        // Add header to tableLayout
        tbl.addView(tHead, new TableLayout.LayoutParams(
                LayoutParams.MATCH_PARENT,
                LayoutParams.WRAP_CONTENT));

        // Add all polls in ref as rows
        polls.addListenerForSingleValueEvent(new ValueEventListener() {
            // DON'T KNOW WHAT TO DO HERE

        }
    }

Ni siquiera creo que este sea el método correcto. Solo quiero poder obtener un Datasnapshot que puedo recorrer y obtener datos, como ...

for (Datasnapshot child : datasnapshot) {
}

.. como si estuviera usando elref.once('value', function(snapshot) evento en la API de Javaxcript.

Respuestas a la pregunta(1)

Su respuesta a la pregunta