Em atenção as pessoas que compraram meu livro, estou reportando os erros que o pessoal está encontrando. Sendo assim, segue abaixo mais algumas atualizações sobre o livro. Quem quiser acompanhar e reportar erratas pode participar do grupo de discussão sobre o livro.
Capítulo 1
Página 43. A pasta values-v11-mcc724-mnc31 informada não funcionaria pois teria que ser respeitada a ordem de avaliação dos recursos. O nome correto seria values-mcc724-mnc31-v11.
Obrigado Douglas Drumond!
Página 46. A propriedade densityDpi da classe Configuration só está disponível na API Level 17 (Android 4.2). E as propriedades screenHeightDp e screenWidthDp na API Level 13 (Android 3.2). Uma alternativa para obter esses valores é utilizar a classe DisplayMetrics.
Obrigado Tatiani Lima!
Capítulo 4
Página 113: No lugar de setEditorActionListener(OnEditorActionListener), usar setOnEditorActionListener(OnEditorActionListener).
Valeu Jorge Felipe (por essa e outras).
Página 134. Na seção "Cabeçalho e Rodapé", no lugar de setListAdapter(Adapter) lê-se listView.setAdapter(Adapter).
Página 136: Na seção "EmptyView", quando fui fazer esse exemplo, ele era inicialmente com uma ListActivity.
public class MainActivity extends ListActivity { ... public void onCreate(Bundle savedInstanceState){ setContentView(R.layout.activity_main); listView = getListView(); ... } ... }Com isso, o exemplo funciona corretamente, porque internamente a classe ListActivity define a propriedade emptyView da ListView. Entretanto, no Lollipop, por padrão, a ListActivity não exibe a ActionBar (barra de título da parte superior), então resolvi herdar de ActionBarActivity. E com isso, esqueci de adicionar a seguinte linha:
listView.setEmptyView(findViewById(android.R.id.empty));
Essa correção já está disponível no GitHub.
Obrigado Vitor Albuquerque!
Capítulo 5
Página 155: No segundo parágrafo, no lugar de android:text, seria android:textColor.
Página 159: Remover propriedade android:background dos botões, uma vez que ela foi definida no arquivos values/styles.xml.
Capítulo 6
Página 195: No único parágrafo, no lugar de equipe, seria hotel.
Geral
Em vários exemplos estou utilizando o valor fill_parent ao invés do match_parent. Entretanto o segundo é o recomendado desde a API Level 8 (Android 2.2). Mas se você observar, o valor das constantes internamente é o mesmo. Então na prática, não faz diferença nenhuma, ele só foi renomeado. Mas, por precaução, utilize match_parent.
--
Bem pessoal! Por enquanto é isso. Desculpem o transtorno, mas é que não houve revisão técnica pois encareceria o livro. Essa incubência ficou para vocês e eu agradeço bastante essa colaboração.
À medida que forem achando alguma coisa, por gentileza reportem no grupo. Vai ajudar a mim e a outros leitores.
4br4ç05,
nglauber