Q:

Spinner com estados e cidades? 

Como funciona um spinner com estados e cidades do Brasil?  Ao clicar no estado, listar as cidades? 
Qual a forma de fazer isso?  Um banco com tudo cadastrado?  SQLite?  Preciso de um modelo pronto para estados e cidades? 

A:

Basta criar tabela (SQLite) com os estados e outra com as cidades, interligadas por uma chave estrangeira e os respetivos objetos claro. 
Claro que convém já ter os estados e as cidades já cadastrados no banco. 
Depois é só apanhar o evento do spinner de estados, fica o exemplo:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
{
    @Override
    public void onItemSelected(AdapterView<? > parentView, View view, int pos, long id) 
    {
        Estado es = (Estado) parentView.getItemAtPosition(pos). 

        // Código de pesquisa na Tabela cidades das que tiverem o estado selecionado.  
        // Exemplo:
        ArrayList<Cidade> listaCidades = buscarNoBanco(es);

        // Depois é só adicionar a listaCidades a um outro spinner 
        // ou uma listView de cidades. 
    }
});

