Ano: 2019

Android – Forçando a conexão com a interface do Wifi quando não há internet (Force Wifi connection with no internet access)

Android Studio: /dev/kvm device permission denied

O Erro “/dev/kvm device permission denied” é muito comum para os usuários de Linux ao tentar iniciar um emulador. Segue a solução: Verifique existe o grupo kvm : grep kvm /etc/group Deve retornar algo como: kvm:x:some_number Caso não exista faça a instalação do qemu-kvm: sudo apt install qemu-kvm Adicione seu usuário no grupo kvm sudo […]

Android Tests – Como pegar o valor de um LiveData (How to get the value from a LiveData)

Solução de como obter o valor de um LiveData em seus testes Caso se depare com o problema Cannot invoke observeForever on a background thread veja esse post: https://helpdev.com.br/2019/11/06/android-tests-cannot-invoke-observeforever-on-a-background-thread/ Referência: https://github.com/android/sunflower/blob/master/app/src/androidTest/java/com/google/samples/apps/sunflower/utilities/LiveDataTestUtil.kt

Android Tests – Cannot invoke observeForever on a background thread

Ao realizar um teste utilizando coroutine me deparei com esse problema ao tentar observar um LiveData Cannot invoke observeForever on a background thread Para contextualizar o problema, eu estava utilizando um dao do Room com uma suspend function para me retornar um LiveData, exemplo: O problema é a execução do observer fora da thread da […]

Java – Como definir o TimeZone da aplicação (How to set a JVM TimeZone Properly)

Esse ano foi determinado que o estado de São Paulo não haveria mais horário de verão, isso implicou em alguns problemas no setor de TI, muitos dispositivos mudaram automaticamente e a própria JVM deu alguns problemas, ao criarmos um new Date() por exemplo, o horário de verão estava presente. Isso aconteceu comigo em uma determinada […]

Gson – Criando um Adapter para conversão de data ISO em Date (ISO formatted date from JSON String using Gson)

O código abaixo representa uma configuração do Gson para realizar a conversão de um Json com campos de data em formato ISO para o objeto Date

Android – Como combinar dois ou mais LiveData ( Transformations.map with multiple arguments )

Nesse post vou mostrar como realizar a combinação de LiveData para gerar outro. No meu caso utilizei dessa combinação para deixar a exibição de um botão de Login dinâmico em relação ao preenchimento das colunas de usuário e senha. Com a utilização do Transformations.map podemos criar um novo LiveData que muda de valor conforme o […]

Android – Como remover o fragment da pilha ao navegar (How to clear navigation Stack after navigating to another fragment)

Nesse post vou mostrar como remover da pilha o fragment anterior utilizando a nova arquitetura de navegação do android ( Navigation Architecture Component ) Dado a seguinte navegação A -> B -> C ao adicionarmos o código a seguir a action de navegação do B para o C a stack de volta ficaria assim: C -> A […]

Android – Adicionando onBackPressed com dois clicks no Fragment (Clicking the back button twice to exit)

Quando estamos em um fragment não temos acesso ao override do onBackPressed, nesse caso temos que acessar a FragmentActivity e adicionar um Callback no onBackPressedDispatcher, dessa maneira começamos a interceptar o click. Na solução abaixo criamos um callback que permite a ação voltar diretamente do Fragment após ele ter realizado o click em um intervalo […]

Spring Boot – Caching

Em qualquer sistema o Cache é algo muito importante e muito utilizado, ao adicionar um sistema de cache em nossos sistemas, garantimos uma melhor performance evitando vários processamentos desnecessários, o Spring Boot fornece uma ferramenta incrível deixando a configuração e uso muito simples, usando apenas anotations. O exemplo a seguir irei seguir os passos da […]

Rolar para o topo