sábado, 11 de agosto de 2012
Android, Dalvik, Threads, diferenças
Tenho feito alguns testes com processamento concorrente em Java.
Uns dos primeiros testes que se faz quando estudamos concorrência é o da visibilidade de uma variável modificada por duas threads.
Ou se usa sincronização ou uma variável volátil para que as threads tenham acesso ao valor mais atual da variável.
Curiosamente, nas versões Dalvik que tenho testado, o programa listado a seguir tem funcionado, quando uma versão equivalente (não Android) fica em loop no meu pc.
Testei nos seguintes aparelhos:
Celular: Sony XPERIA mini E10a Android 2.1
Tablet: Sansung Galaxy GT-P6210 Android 3.2
Tablet: Motorola XOOM MZ604 Android 4.0.4
Obs: A variável "stopRequested" que uso para controlar o loop deveria ser volatile ou ser acessado via synchronized.
TesteThread04Activity.java
main.xml
Se alguém obter um resultado diferente gostaria de tomar conhecimento. Por favor, poste qual é o aparelho e a versão do Android.
Obrigado.
PS: Apesar de funcionar na maioria das vezes, está comprometido: não tem garantia que vai funcionar sempre.
sábado, 4 de agosto de 2012
Web Service
O colega Alexandre Antunes, do Portal Android, escreveu uma série de excelentes artigos sobre Web Service. Os artigos foram publicados na área de "Artigos, Tutoriais e Dicas" do Portal Android.
Ele, gentilmente, permitiu que eu os publicasse aqui no blog.
Como os artigos são longos e tem vários comentários, dúvidas e esclarecimentos, vou colocar abaixo os links para os mesmos.
Web Service RESTful 1 [+Java+JSON+Code]
Web Service RESTful 2 [+Consumir+Android+Code]
Web Service RESTful 3 [+PgSQL+DAO+Business+Factory]
Antunes, eu e os leitores do blog estamos muito agradecidos pelo seu gesto e por compartilhar o seu conhecimento. Muito Obrigado! Tudo de bom!
sábado, 14 de julho de 2012
Dica: java.lang.NoClassDefFoundError
Se está tendo o erro java.lang.NoClassDefFoundError, ou algo relacionado, tente o seguinte:
1.No Eclipse entre em:
-> Project
-> Properties
-> Java build path
-> Order and export.
2.Selecione os jars.
3.De um clean no projeto
Se não resolver:
1. Retirar os ".jar"s do "build path"
2. Alterar a pasta "lib" para "libs",
3. Adicionar os ".jar"s no "build path".
4. De um clean no projeto
Assinar:
Postagens (Atom)