Android

OkHttp – Como gerar um RequestBody por um InputStream (RequestBody supports InputStream)

Segue um código de como gerar um RequestBody do OkHttp atravéz de um InputStream, essa abordagem é muito utilizada para realizar envios de arquivos com o MultipartBody.Builder. A baixo vou inserir um gist com duas classes, uma para criar baseado em um InputStream e outra em uma Uri (utilizado no Android) Provavelmente alguma implementação parecida […]

Android – Compartilhar código entre teste unit e instrumental ( Sharing code between unit tests and instrumentation tests on Android )

Suponhamos que você tenha uma aplicação android com uma serie de testes. Alguns deles são testes unitários (unit tests), localizados em: src/test, e testes instrumentais (intrumentation tests), localizados em: src/androidTest. O problema encontrado é que muitas vezes temos códigos que poderiam ser compartilhados entre esses testes, mas não temos como fazer isso pois estão em […]

Android – Accessing hidden method Ljava/lang/Thread – Coroutines do not log uncaught exceptions in Android

Verificar Issue: https://github.com/Kotlin/kotlinx.coroutines/issues/148#issuecomment-338101986 Solução que utilizei: val handler = CoroutineExceptionHandler { _, ex -> ex.printStackTrace() //TODO } launch(CommonPool + handler) { //your code here }

Android – Configurando o Dagger com Worker (Dagger 2 setup with WorkManager)

No exemplo a seguir mostro como configurar o Dagger 2 para trabalhar com o WorkManager. Atualmente é uma tarefa bem complicada e que possivelmente sofrerá alterações em sua implementação pois o WorkManager é uma nova API do Android e o Dagger2 ainda não tem recursos para facilitar a implementação de injeção de dependências nela. Este […]

Kotlin – Dicas de como utilizar as Standard Funcions – ‘run’, ‘let’, ‘apply’ and ‘also’ (Kotlin Standard Functions cheat-sheet)

Todas essas funções funcionam de maneira semelhante, no sentido em que permitem alterar o escopo da função ou variável atual e, ao mesmo tempo, aplicar várias operações nessa mesma variável, tudo no mesmo lugar. Segue um flowchart bem interessante que encontrei em uma publicação no Medium/androiddevelopers para auxiliar na escolha:

Android – Como detectar se a aplicação está minimizada ou não (How to detect Android application in background or foreground events)

Se você estiver usando a biblioteca de componentes de arquitetura do Android, poderá usar o ProcessLifecycleOwner para configurar um ouvinte para todo o processo do aplicativo para eventos onStart e onStop. Para fazer isso, faça com que sua classe de aplicativo implemente a interface LifecycleObserver e inclua algumas anotações de onStop e onStart em seus […]

Rolar para o topo