quinta-feira, 20 de abril de 2017

Viajando pelo mundo com pouco dinheiro!

Tá, o título parece uma propaganda batida de site de notícias... Mas tem um casal que esta, realmente, tentando viajar pelo mundo com pouco dinheiro e que, por incrível que pareça, estão conseguindo! :)

O mais legal é que eles postam suas viagens no Youtube através do seu canal (Travel and Share):


E já viajaram até no Japão! :)

Boa sorte a eles, e que eles façam muitos amigos por aí!

Bora viajar? ;)

Até mais!

terça-feira, 18 de abril de 2017

Dicas de Programação: Transformando um objeto UIImage em base64 (NSString) em Objective-C

Uma dica de um amigo meu. :)

Para transformar um objeto UIImage em um base64 é só utilizar a função UIImagePNGRepresentation e o método base64EncodedStringWithOptions da classe NSData.

Exemplo:

UIImage* image = ...;
...
//Transforma a UIImage em um NSData (formato PNG)
//Obs.: Utilizar UIImageJPEGRepresentation se for JPG
NSData* data = UIImagePNGRepresentation(image);
//Converte o NSData para base64
NSSString* base64 = [data base64EncodedStringWithOptions:0];
...

Valeu Diego!

Até mais!

Alguém se lembra: Joe e Mac (Super NES)?

Sabe aquele jogo que parece muito divertido de tão engraçado que ele é?

Então, isso é o que eu sentia do game "Joe e Mac":


Não sei muito da história (acho que é sobre uma aldeia rival que rapta as mulheres da sua vila -- ou algo assim... :P ), mas eu sei que era muito divertido jogar ossos, tacapes ou rodas nos inimigos (alguns do tamanho de um dinossauro, literalmente...), ainda mais com um amigo (sim, este jogo dá para jogar de dois ao mesmo tempo).

Me lembro que era engraçado ver a cara de dor dos dinossauros... :)

Abaixo, uma jogatina feita pelo canal World of Longplays:


Até mais!

Dicas de Programação: Como executar uma função nativa no Android via Javascript (WebView)?

Primeiramente, é preciso dar permissão para a WebView executar o javascript, adicionar um objeto e externalizar o método deste objeto com a anotação "JavascriptInterface":

public class MyActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
...
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavascriptEnabled(true);
webView.addJavascriptInterface(new Object() {
        //Método externalizado
        @JavascriptInterface
        public void showToast() {
                 Toast.makeText(MyActivity.this, "Hello world!", Toast.LENGTH_LONG).show();
        }
//Nome do objeto no javascript
},"native");
...
}

}

E depois, usar no arquivo "js" ou "html", o objeto e método externalizado:
...
<script>
function ToastButton_onClick() {
         native.showToast();
}
</script>
...
<button ontouchstart="ToastButton_onClick();">Toast</button>
...

Fácil, não? :P

Até mais!