Ao fazer o parse de um JSON, estava ocorrendo o seguinte erro:
com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@3211ceb3 failed to deserialize json object "Ocorreu" given the type java.util.ArrayList<meupackage.MinhaClasse>
at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:64)
at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:92)
at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:80)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:101)
at com.google.gson.JsonDeserializationContextDefault.fromJsonPrimitive(JsonDeserializationContextDefault.java:85)
at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:56)
at com.google.gson.Gson.fromJson(Gson.java:551)
at com.google.gson.Gson.fromJson(Gson.java:498)
at com.google.gson.Gson.fromJson(Gson.java:467)
at com.google.gson.Gson.fromJson(Gson.java:417)
at meupackage.getJsonIndiceRotatividade(Helper.java:101)
at meupackage.IndiceRotatividadeFragment.onTaskComplete(IndiceRotatividadeFragment.java:150)
at meupackage.IndiceRotatividadeTask.onPostExecute(IndiceRotatividadeTask.java:86)
at meupackage.IndiceRotatividadeTask.onPostExecute(IndiceRotatividadeTask.java:19)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
O problema estava no objeto que estava sendo trafegado. Ele deve obrigatóriamente ser serializável. Nesse caso, basta implementar a interface Serializable no modelo (VO / TO).
Regards
quarta-feira, 14 de outubro de 2015
quinta-feira, 24 de setembro de 2015
ANDROID - "location provider requires ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission"
Ao utilizar o recurso de GPS e estiver ocorrendo o erro descrito, significa que faltaram permissões a serem adicionadas no AndroidManifest.xml:
Essas permissões serão apresentadas durante o processo de instalação.
Regards
Essas permissões serão apresentadas durante o processo de instalação.
Regards
sexta-feira, 18 de setembro de 2015
ANDROID - ANDROID STUDIO - Generating serialVersionUID
Um atalho importante para quem desenvolve em Java é gerar automaticamente o serialVersionUID. O Android Studio não permite gerar (modo default) através do atalho "Alt" + "Insert". Será necessário habilitar o recurso.
Para que esteja disponível na sequencia de atalhos, será necessário fazer algumas configurações na IDE, a saber:
Regards
Para que esteja disponível na sequencia de atalhos, será necessário fazer algumas configurações na IDE, a saber:
- Ir até o menu "File->Settings->Plugins"
- Na busca (Browse repositories) localizar o item GenerateSerialVersionUID
- Habilitar o item para torná-lo disponível
- Será necessário reiniciar a IDE
Regards
quinta-feira, 10 de setembro de 2015
JBOSS - WILDFLY - ERRO AO FAZER DEPLOY - UndertowDeploymentInfoService
Ao fazer deploy de um pacote (war ou ear) ocorre o seguinte erro:
JBAS014777: Services which failed to start: service jboss.undertow.deployment.default-server.default-host."/project.api".UndertowDeploymentInfoService
mypackage.m.AppConfig
mypackage.m.AppConfig
/api/*
JBAS014777: Services which failed to start: service jboss.undertow.deployment.default-server.default-host."/project.api".UndertowDeploymentInfoService
Isso ocorre porque o JBOSS não encontrou a Servlet "AppConfig.java". Verifique as configurações no web.xml:
Regards
quinta-feira, 9 de julho de 2015
NODEJS - HelloWorld
1-Primeiro vamor criar o arquivo helloworld.js:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.JS!');
}).listen(8080);
console.log('Server running at http://localhost:8080/');
2-Rodar o comando no shell:
> node helloworld.js
3-Resultado na console do shell:
Server running at http://localhost:8080/
4-Rodar no browser:
http://localhost:8080/
Pronto, sua primeira aplicação em nodejs está pronta.
Regards
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.JS!');
}).listen(8080);
console.log('Server running at http://localhost:8080/');
2-Rodar o comando no shell:
> node helloworld.js
3-Resultado na console do shell:
Server running at http://localhost:8080/
4-Rodar no browser:
http://localhost:8080/
Pronto, sua primeira aplicação em nodejs está pronta.
Regards
NODEJS - Instalando no openSuSe
Para instalar o NodeJs a partir da distribuição Linux openSuSe basta acessar o link:
https://software.opensuse.org/package/nodejs
Regards
quinta-feira, 23 de abril de 2015
JAVA - JBOSS - WILDFLY - HABILITAR MODO DEBUG
Para habilitar o debug no JBOSS WILDFLY serão necessários os seguintes passos, a saber:
- Abrir o arquivo {JBOSS_HOME}/domain/configuration/host.xml
- Ir até a tag e adicionar os parâmetros em destaque:
<servers>
<server name="server-one" group="main-server-group">
<jvm name="default">
<jvm-options>
<option value="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"/>
</jvm-options>
</jvm>
</server>
</servers>
- Efetuar o restart no JBOSS no profile "domain"
Regards
Assinar:
Postagens (Atom)