Mostrando postagens com marcador Android. Mostrar todas as postagens
Mostrando postagens com marcador Android. Mostrar todas as postagens

29 de mai. de 2018

Zenfone 4 Selfie Pro - primeiras semanas de uso

Comprei o Asus Zenfone 4 Selfie Pro, pricipalmente pela excelente relação custo x benefício no que diz respeito à câmera (13 MPx) e ao espaço interno (32 ou 64 GB).


Barra Superior
A primeira coisa a se modificar nas configurações iniciais do aparelho são os ícones da barra do relógio. Só tinha ícones inúteis, mas foi só personalizar quais ícones aparecer, usando um botão do canto superior direito.





Arquivos não aparecem na Galeria
Uma das coisas que mais me irritou - e ainda não sei se o culpado é o Android ou a Asus - foi a dificuldade em ver e compartilhar arquivos presentes na memória interna do celular. Talvez essa dificuldade esteja associada ao fato de eu ter um cartão de memória SD conectado, o que faz o sistema operacional, de alguma maneira, querer ignorar a memória interna (apenas especulando), o que seria uma tremenda estupidez. Um dos principais motivos para comprar este aparelho foi a grande memoria interna de 64 GB que supostamente, me traria facilidades na gestão do espaço. No meu último aparelho, mesmo com a memória extra do cartão, tinha muitas dificuldades de atualizar aplicativos e decidi "apelar" para 64 GB. Porém, essa dificuldade em usar os arquivos da memória interna acabou sendo um tiro pela culatra. Isso afeta principalmente arquivos vindos de aplicativos de chat/redes sociais (Whatsapp e Facebook) e capturas de tela (do próprio celular e do aplicativo Screenshot Assistant).

Segui os passos (para outra versão do Zenfone) desse site e vou tentar replicar aqui, usando a minha versão (Android 7.1.1, Zenfone 4 Selfie Pro, ZenUI 4.5.1). Seguindo os passos, até consegui fazer os arquivos serem mostrados na Galeria e no Gerenciador de Arquivos padrão da Asus, mas, não sei ao certo se foi depois de um pedido de atualização da Zen UI ou se foi simplesmente a reinicialização do aparelho, tudo sumiu de novo - apesar de estar lá, se for nas configurações e explorar os arquivos da memória interna.

1 - Desmarcar a opção "Ocultar arquivos do sistema"
Não consegui encontrar essa opção na versão que tenho em mãos, mas tenho a impressão de ter conseguido antes da atualização do ZenUI. Segundo o tutorial, seria em Configurações - Geral - Ocultar arquivos do sistema.

2 - Apagar arquivo .nomedia
Em Configurações - Armazenamento, clique em Armazenamento Interno e apague o arquivo .nomedia presente na pasta de Armazenamento Interno.



3 - Apagar informações do Amarzenamento
Em Configurações - Apps, clique nos três pontos da parte de cima e selecione "Mostrar Sistema".


Procure pelo app Armazenamento de mídia, selecione-o e em seguida, selecione "Armazenamento e memória". Por fim, selecione Limpar dados.


Se for na Galeria, verá que está vazia. Reinicie e após algum tempo, os arquivos devem começar a aparecer na Galeria.

Aparentemente, essa solução funciona, mas não sei por quanto tempo e em que circunstâncias ela se desfaz. Sigo observando e, se houver uma solução mais simples e/ou mais definitiva, podem colocar nos comentários.

Notificações
Tive uma dificuldade em conseguir ver as notificações de alguns aplicativos. O que acontecia era que a notificação só aparecia se tivesse com o aplicativo aberto. Esse problema incomodava principalmente nos aplicativos Colornote (que eu uso como despertador algumas vezes), Nubank, Banco Inter (fazia uma compra e não recebia a notificação). A solução que encontrei foi colocar os aplicativos para serem inicializados com o sistema, o que, aparentemente, é desabilitado para economizar bateria.

1 - Configurar - Bateria

2 - Selecionar Gerenciador de auto-início nos três pontinhos de cima

3- Adicione os aplicativos que quer monitoramento constante


Alertas de Emergência 
Outra coisa que incomodou nos primeiros usos foi uma notificação (ironicamente, uma notificação quando você não quer ver em vez das notificações do item anterior, que você quer ver) de Alerta de Emergência , em geral escrito Vivo 21 (sendo que minha operadora nem é da Vivo). Pelo menos aqui, aparecia principalmente quando ficava sem sinal. Para fazer sumir essa notificação, que, pelo que parece, é apenas propaganda invasiva, faça o seguinte:

1 - Configurações - apps e faça o mesmo esquema de uma das figuras anteriores de clicar nos três pontinhos e selecionar Mostrar sistema

2 - Selecione Alerta de emergência
3 - Desative as notificações


No próximo post, vou falar sobre o efeito de defocagem que me incomodou bastante e a sincronia complicada do Mega.

22 de ago. de 2016

Instalação de aplicativo no SD Card diretamente pelo computador

Para evitar o problema de falta de espaço na memória interna na instalação de aplicativos Android, é possível instalá-los diretamente no cartão de memória, que possui muito mais espaço , e sair do sufoco. Não será preciso rootear o celular, mas é preciso ativar o modo de depuração. Além disso, você precisará ter o Java instalado.

1.1 - Baixe e instale o Android Studio
2.1 - Abra o Android Studio, e clique em Configure e SDK Manager e instale Android SDK Tools.
3.1 - Note que o Android Studio deve estar instalado em uma pasta diferente do Android SDK Tools. Na imagem acima, você consegue identificar a pasta onde ele está instalado. Vá até essa pasta, entre na pasta platform-tools. Lá, deve ter um arquivo chamado adb.

1.2 -  Clique com o botão direito do mouse com o shift pressionado e selecione Abrir janela de comando aqui. Neste momento, seu ambiente está configurado, é hora de mexer no celular para ele poder ser detectado pelo ADB.

2.2 - Vá em configurações, Sobre o telefone e pressione várias vezes a versão do kernel. Uma mensagem de confirmação aparecerá, leia e aceite. Ela irá verificar se você quer mesmo manter seu celular em modo de debug, o que vai permitir instalação de aplicativos através do computador, mais especificamente, do Android SDK.

3.2 - Volte às configurações. Agora deve ter uma opção de Modo de desenvolvedor. Clique nessa opção e vá até a parte de depuração. Ative o modo de depuração USB.

4 - Agora, temos o computador e o celular configurados. Abra a janela de comando na pasta do passo 3.1 e digite adb devices. Seu celular deve ser detectado lá (se não for, tem que ver atualização de drivers)

5  - Baixe o apk desejado e copie o endereço completo dele (por exemplo, C:\Downloads\bikerio.apk)

6 - Na janela de comando aberta dentro da pasta platform-tools, digite adb install ENDEREÇO-DO-PASSO-5 . Isso instalará o programa.

Depois de todos esses passos, se desejar instalar outro programa em outro dia, basta abrir o cmd e digitar

cd AppData\Local\Android\sdk\platform-tools
adb install C:\Endereço\do\arquivo.apk

Referências: Ask Ubuntu

29 de out. de 2013

Mudar TextView com aplicação em Android

No post anterior, vimos como obter um conteúdo da interface Android para dentro do processamento em Java. Agora, o objetivo é processar algo e retornar para a interface, alterando-a conforme o resultado.

3 - Processando a resposta
O processamento é um raciocínio meramente algorítmico. Temos que criar um número aleatório e verificar se é ímpar ou par.:

  1. int numero = (new Random()).nextInt(50);
  2. int resultado = numero % 2;

A variável "numero" recebe um número aleatório criado pelo método nextInt (cujo parâmetro é o número máximo somado de 1, desde 0, que poderá ser sorteado, ou seja, nextInt(50) é um número entre 0 e 50, excluindo o 50) e que precisa da importação de java.util.Random, a própria IDE deve reclamar disso, pondo um ponto de erro na linha e uma sugestão de correção com a importação.

  1. import java.util.Random;

Este código vai na MainActivity.java, conforme explicado no post anterior.

4 - Exibindo a resposta modificando a interface
Usando uma interface simples, vamos alterar o texto "Hello World!" para "Cara" ou "Coroa", se a variável "resultado" for igual a 1 ou 0, respectivamente (ou vice-versa). Para alterar o conteúdo, é preciso armazenar o "ID" do elemento da interface usando o método findViewById. O código fica o seguinte:

  1.     /** Chamado ao pressionar OK */
  2.     public void processar(View view) {
  3.         TextView editText = (TextView) findViewById(R.id.textView1);
  4.         String mensagem = editText.getText().toString();
  5.         int numero = (new Random()).nextInt(50);
  6.         int resultado = numero % 2;
  7.         if(resultado == 0){
  8.                 mensagem = "Cara";
  9.         }
  10.         else{
  11.                 mensagem = "Coroa";
  12.         }
  13.         editText.setText(mensagem);
  14.     }

A variável "mensagem" é iniciada com o conteúdo "Hello World!" só para aproveitar o código do último post. Poderia ser vazia. A "editText" identifica o elemento (como um form) que contém o texto e possui um método para alterar o texto desse elemento, que é usado na última linha, o setText().

Vamos aprimorar a interface e, em vez de mostrar o resultado com texto, vamos mostrar uma moedinha mesmo (sem animações, só a figura mesmo, mais informações sobre figuras no site do Android Developer).

Primeiro, você deverá trazer suas figuras de cara e coroa para o acervo de imagens. Para isso, copie as imagens desejadas e, no Eclipse, na pasta res/drawable-hdpi (pode ser também mdpi ou ldpi, vi aqui), clique com o botão direito e cole. Atenção ao tamanho das figuras, que deve ser pequeno. Para mais informações, existe uma série de explicações no Android Developer. Quanto à extensão, consegui com .gif e com .png como pode ser visto na figura abaixo.

ic_action_cara.png foi uma tentativa frustrada de carregar
a imagem pelo Create New Icon do Eclipse.
Só consegui mesmo copiando e colando na pasta drawable
Volte ao activity_main.xml e escolha Graphical Layout. Clique na caixa suspensa "Image & Midia" e, em seguida, arraste para a tela do aplicativo o ImageView. Selecione uma imagem qualquer para ser a imagem inicial do programa (eu usei o ícone do programa). Conforme o resultado, essa imagem mudará para a imagem de cara ou de coroa seguindo os passos a seguir.

No MainActivity.java, antes do if que avalia o resultado, crie um objeto para receber a imagem padrão.

  1. ImageView imagem = (ImageView) findViewById(R.id.imageView1);

Dentro do correspondente if/else, mude o conteúdo do objeto para a imagem de cara ou de coroa:

  1. imagem.setImageResource(R.drawable.nome_arquivo_cara_ou_coroa); //OBS: Sem o .png

O método fica, então:

  1.  /** Chamado ao pressionar OK */
  2.     public void processar(View view) {
  3.         TextView editText = (TextView) findViewById(R.id.textView1);
  4.         String mensagem = editText.getText().toString();
  5.         ImageView imagem = (ImageView) findViewById(R.id.imageView1);
  6.         int numero = (new Random()).nextInt(50);
  7.         int resultado = numero % 2;
  8.         if(resultado == 0){
  9.                 mensagem = "Cara";
  10.                 imagem.setImageResource(R.drawable.cara);
  11.         }
  12.         else{
  13.                 mensagem = "Coroa";
  14.                 imagem.setImageResource(R.drawable.coroa);
  15.         }
  16.                 editText.setText(mensagem);
  17.     }

Resultado:

Tela Inicial

Apresentação do resultado

5 - Instalando o aplicativo no celular
No Eclipse, na esquerda, onde ele mostra os diretórios, vá em bin/res e copie o caraCoroa.apk (ou o nome que você deu a seu projeto) para o celular. Abra-o no celular e instale.

Fontes de Consulta:
Stack Overflow
Mkyong.com

28 de out. de 2013

Criando meu primeiro aplicativo de Android

O primeiro passo é, naturalmente, a instalação. Na página do kit de desenvolvimento do Android (developer.android.com), baixe o pacote completo (Eclipse+Máquina Virtual+ambiente Android), é um arquivo bem grande (453 MB), então demora um pouco para baixar. No Linux, a instalação consistiu somente de dezipar o arquivo. Para abrir o kit de desenvolvimento, vá na subpasta eclipse e clique duas vezes sobre o programa eclipse.




Ao abrir, ele pergunta sobre a workspace. É nesse caminho que ficarão os arquivos de código gerados e o arquivo final para rodar seu programa (o .apk). Selecione o seu caminho de preferência (dica, se usa dropbox, use uma pasta dentro do seu diretório de sincronia).

Tudo instalado e configurado, vamos partir para o desenvolvimento de um aplicativo simples. A filosofia de programação em Android é similar à de .NET ou qualquer cliente-servidor. A parte de interação com o usuário é feita com um XML (com muitos dos componentes são gerados automaticamente pela IDE, ou seja, pelo Eclipse), fazendo o papel da página web analogamente, e os cálculos  são rodados em Java, através de requisições enviadas pelo XML. Isso vai ficar mais claro com o exemplo prático.

O aplicativo consiste em um "Cara ou Coroa", com basicamente duas interfaces:
- A interface inicial, onde o usuário pode tocar em um botão para ativar o programa
- A interface de resultado, que mostra uma moeda com a cara ou o número virado para cima e um botão para repetir o procedimento.

O cálculo não é complicado, basta fazer um programa que sorteie um número aleatório e obtenha o resto da divisão dele por 2. Se o resto for 0, o resultado é cara, se for 1, coroa (ou vice-versa).



Agora, mãos à massa. Os passos seguidos aqui são um resumo do guia presente no developer.android.com. Clique em New Android Application e preencha os espaços para decidir o nome da aplicação (pode deixar os outros campos com o padrão) e avance. Na segunda janela de configurações, também deixe tudo como está e avance. A terceira janela é para decidir o ícone que vai aparecer na lista de programas no celular.



 Para se localizar, aqui vai uma explicação sobre os principais dentre vários diretórios criados automaticamente ao criar uma nova aplicação (mais informações na página oficial).

  • src: arquivos .java para a programação propriamente dita. Possui um arquivo MainActivity.java que cria a tela inicial do programa (o nome MainAcitivity pode mudar, se você alterar algumas das configurações padrão)
  • gen: possui arquivos gerados, incluindo o importante R.java, que intermedeia algumas operações.
  • res/layout: os XML que descrevem as telas do programa. Por padrão, tem um activity_main.xml. Ao abrir um dos arquivos dessa pasta, há as opções Graphical Layout e nome_do_arquivo.xml, o primeiro com uma visão gráfica, com possibilidade de arrastar e soltar forms e o segundo com o código gerado para mostrar esses forms. 
  • res/values: para entrar com valores na interface (por exemplo, activity_main.xml), é preciso cumprir a burocracia de criar uma variável e definí-la dentro dessa pasta (por exemplo, strings.xml) ou então a IDE vai dar warning. Abra no activity_main.xml a parte de código e procure pela tag TextView e confira como o texto "Hello World!" está referenciado como uma string dentro da pasta string e não diretamente (android:text="@string/hello_world").

1 - Criação de um botão
Abra o arquivo activity_main e ative o Graphical Layout. Na janela Form Widgets (veja a figura anterior), clique em Button e arraste para a área em branco ao lado. Perceba que ele vai dar Warning, pois ao botão é automaticamente atribuído o text="Button". Vá em values/strings e adicione uma string, de nome botao_ok e valor "OK". Volte ao activity_main e troque android:text="Button" por android:text="@string/botao_ok". Se o Warning não desaparecer instantaneamente, clique no menu superior em Project e selecione Clean. 

[I18N] Hardcoded string "Button", should use @string resource:
Warning caso não use uma variável para o texto
2 - Resposta do botão ao toque
No activity_main, adicione o atributo android:onClick="processar" (sim, é sensível a maiúsculas). Vá em sec/MainActivity e adicione o seguinte trecho:

/** Chamado ao pressionar OK */
public void processar(View view) {
    // codigo sera inserido aqui
}
(adaptado de Android Developers)

Ele indicará erro, clique no apontador do erro e corrija importando a classe View. Alternativamente, pressione Ctrl+Shift+o para corrigir erros de importação.


Dentro do método processar, adicione 

Intent intent = new Intent(this, Sortear.class);
A IDE deve reclamar de dois erros, um da eportação do Intent, e a inexistência da classe Sortear (View cannot be resolved to a type).

OBS - Configurando o dispositivo de debug

Para fins de teste (e para configurar o dispositivo, real ou virtual, que vai rodar nossos programas), vamos rodar um programa muito simples. Esqueça, por enquanto, o Intent.

/** Chamado ao pressionar OK */
public void processar(View view) {
       //Intent intent = new Intent(this, Sorteio.class);
     TextView editText = (TextView) findViewById(R.id.textView1);
     String mensagem = editText.getText().toString();
}
Coloque um breakpoint na linha TextView editText = (TextView) findViewById(R.id.textView1) (para quem não sabe o que é um breakpoint, é só clicar ao lado da linha (na parte laranja). Quando rodar o programa em modo debug, o programa irá parar onde você marcou).


Eu, particularmente, não consegui rodar o dispositivo virtual. Usei um celular para rodar no dispositivo real. Para fazer isso, antes, você deve ir nas configurações do seu celular, em Aplicativos e, depois, em Desenvolvimento, e ativar a opção Depuração USB. Com essa opção marcada, ao conectar seu celular ao computador pelo cabo USB, deve aparecer na área de notificações. Então, quando você mandar rodar o programa (Run, Debug (F11)), o programa irá rodar no seu celular (cria automaticamente, um ícone no seu painel de aplicativos).




Voltando ao nosso teste, clique em Run e Debug e selecione o dispositivo. A tela da interface (um texto e um botão de OK) deve abrir no celular.


Aperte no OK e a execução do programa será pausada no breakpoint (veja a IDE). Aperte em Step Over duas vezes e posicione o mouse em cima da variável "mensagem" do MainActivity.java. Perceba como a variável recebeu o texto de um elemento da interface no Android. A partir dessa ideia, podemos operar entre a interface (XML) e o processamento (Java).






OBS - Criando um dispositivo virtual (Linux)
Ao rodar o dispositivo virtual (Window, Android Virtual Device Manager), tive o seguinte erro:
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
Solucionei com o comando sudo apt-get install libgl1-mesa-de (mais informações, clique aqui). O Arquivo libGL.so pôde ser encontrado em /usr/lib/i386-linux-gnu

Para o próximo post:
3 - Processando a resposta

4 - Exibindo a resposta

22 de mai. de 2013

Aplicativos interessantes (Android)

Vou deixar aqui uns aplicativos que se apresentaram naturalmente ao meu uso de smartphone.

Endomondo
Aplicativo para incentivar a atividade física, que, com base nos dados de GPS, mede velocidade, altitude e expõe algumas informações interessantes através de gráficos. Após finalizar seu passeio (cuja atividade você pode escolher, num cardápio que vai desde caminhadas a snow board), os dados são enviados e publicados na rede social do aplicativo. Existem outras possibilidades, que eu não tive interesse em explorar, como os desafios (são mais para quem está pegando o aplicativo por treinamento, em vez de simplesmente ficar se divertindo vendo gráficos e estatísticas inúteis, como eu).


ColorNote
Na tentativa de encontrar um aplicativo similar ao do meu bom Xperia Mini Pro para tomar notas (e, sim, eu faço muito disso, inclusive, uso mais esse aplicativo como despertador que o próprio despertador), encontrei esse ColorNote.

Saudoso "Observações" do Xperia Mni Pro, Android 1.6
O ColorNote não é tão simples e direto ao ponto como este Observações, mostrado na figura acima, mas dá para quebrar um galho. Apesar de ser um pouco mais burocrático para criar a nota, ainda é mais simples que outros programas de criar nota.
Conta com Notas de Texto ou Listas


MX Player
Para quem tem coragem e concentração para usar o celular como uma televisão na rua, esse aplicativo é fundamental (use fones de ouvido). Ele exibe arquivos de vídeo com suas extensões normais, sem precisar de conversão para mp4 ou 3gp, funcionando como um player de vídeo de desktop mesmo. Uma coisa que achei super legal foi o fato de ele guardar o ponto do vídeo em que você parou de ver, coisa que eu gostaria que tivesse no VLC no meu laptop.


WiFi File Transfer
Eu conheci esse programa uma vez, desesperado para conseguir ver no meu laptop um arquivo que estava no celular (realmente, não lembro o porquê). Conectando o laptop e o celular ao mesmo wifi, com esse programa, você pode acessar pelo Chrome no seu computador todos os arquivos do celular, como se fosse uma página na internet, copiando-os ou mesmo apagando-os. É um programa muito prático para não ter que ficar usando o cabo USB (preguiça ou algum problema mesmo, como tive com o Xperia U e o Ubuntu, que não conectava por USB nem a pancada).




NoBars
Um programa que coloca o celular em modo avião quando detectar que não tem sinal. Ele impede que o celular fique gastando toda a bateria procurando um sinal que não vai chegar, bom para quem passa muito tempo em locais sem sinal, no qual o celular ficaria procurando desesperadamente pelo sinal sem sucesso. Claro que você poderia colocá-lo em modo avião na mão, mas o NoBars meio que automatiza isso e define um limite de tempo para procurar o sinal de novo, se você quer que ele procure por sinal ao destravar a tela e coisas assim. Pelo menos comigo tem funcionado bem e, se ele não voltar, eu desligo o modo avião na mão.

Illumination Bar
Mais um que eu procurei inspirado no meu bom Xperia Mini Pro. Neste aparelho, quando você recebe uma mensagem, perde uma ligação ou qualquer coisa do tipo, ele pisca um LED que muda de cor para cada situação. Quando comprei o Xperia U, senti falta dessa facilidade, pois o LED do Xperia U é muito fraco e não adapta as cores. Primeiro, eu baixei um programa para mudar a cor do LED conforme a situação, mas a baixa liminosidade do LED continuou me frustrando. Então, descobri que há um programa específico para aparelhos com a barra luminosa, como o Xperia U e o Xperia S que pisca a barra luminosa conforme a situação. Você pode controlar a cor da notificação, a freqüência com que o LED pisca e se o LED deve continuar piscando ao destravar a tela.




Camera360
Aplicativo com o mesmo objetivo do Instagram (mas sem uma rede social por trás) que, na minha humilde opinião, é bem melhor e mais completo. Além disso, é capaz de tirar fotos panorâmicas.



Firefox
Já que o Chrome para Android só é disponível para a última versão e tem várias reclamações no Google Play, o Firefox parece ser uma boa opção. Não é pesado, é bem elegante e supera o navegador padrão que vem instalado, com direito a abas.



Status do GPS
Diminuiu bastante o tempo para travamento do GPS

LocateMyDroid
Esse é um daqueles aplicativos "vai que...". Você se cadastra no site, e, caso seja roubado, pode mandar ligar o GPS, apagar dados ou fazê-lo tocar remotamente. É um daqueles aplicativos que serve de resposta à bandidagem, se ele te roubar, você tem mais chances de botar a polícia no pé e/ou fazer o celular ficar inutilizado.

Quem sou eu

Raphael Fernandes
Carioca, Brasileiro, Estudante de Robótica
Hiperativo, Imperativo
Gosto de tecnologia, de transporte, de Rock, de reclamar e de propagandas criativas (e outras coisas que posso ter falado em um post ou não)
Musicalmente falando, sou assim.

Related Posts Plugin for WordPress, Blogger...

Veja também...