quinta-feira, 20 de junho de 2013

Weka e Android - Serialization

Mais um problema que tive e custei a encontrar uma solução na internet. Encontrei foi muita gente com a mesma dúvida. Bem, o problema foi o seguinte, criei um app para Android que deveria classificar o usuário quanto ao risco de desenvolver cáries segundo algumas informações fornecidas pelo mesmo. Este modelo de classificação foi gerado por um software muito conhecido, o Weka. O Weka é um software desenvolvido em Java que lhe dá a possibilidade salvar os modelos gerados serializados em um arquivo. O meu plano então era adicionar a biblioteca do Weka  ao meu app, carregar o modelo na memória do dispositivo e então deserializar o modelo e aplicá-lo sobre os dados. Porém eis que não deu certo, uma exceção chata pipocando o tempo todo. Pesquisando sobre serialização entendi o problema: A versão que serializa tem de ser a mesma que deserializa. Se quem implementou as classes não declarou no código um número serial explicitamente durante o desenvolvimento, no momento da compilação então é atribuído este valor e então versões diferentes terão números diferentes. Eu estava utilizando uma versão do Weka no PC e outra no app. Assim se você está tendo este problema na hora de deserializar, tenta essa dica e é provável que vá resolver.

sábado, 15 de junho de 2013

Android, Adicionando arquivos ".jar" externos.

Problemas ao adicionar arquivos ".jar" aos seus projetos Android? Eu tive esse probleminha, adicionava os ".jar" através da opção build path mas na hora de executar, simplesmente sempre ocorria uma exceção dizendo que não localizava o arquivo. Então encontrei o seguinte POST que solucionou tudo.
Basicamente o que acontece é que a JVM Dalvik não consegue lidar com os ".jar" tradicionais, tendo de convertê-los para um formato próprio, e você precisa fazer com que ele faça isso. Para tal basta copiar o ".jar" a ser incluído na pasta lib do seu projeto, se não houver esta pasta você pode criá-la. Então você acessa o menu build path clicando com o botão direito sobre o nome do projeto e na aba library clique add jar e selecione o ".jar" que você copiou para a pasta lib. Simple assim. Espero que isto possa ajudar muita gente como me ajudou, demorei muito a encontrar alguém que soubesse uma
solução para essa questão.