Android – Como reiniciar a aplicação programaticamente (How to ‘restart’ an android application programmatically)

Android reiniciar aplicativo

    public void backToMain(Bundle params) {
    	//Monta a intent para abrir a aplicação.
        Intent mStartActivity = new Intent(this, MainActivity.class);
        //Se quiser adicionar algum parametro para o inicio da aplicação:
        if (params != null) {
            mStartActivity.putExtras(params);
        }

        //Realiza o agendamento da intent de abrir o aplicativo:
        //No caso abaixo o aplicativo vai ser reaberto daqui 500ms (System.currentTimeMillis() + 500);
        PendingIntent mPendingIntent = PendingIntent.getActivity(this, 123456, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
        AlarmManager mgr = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
        mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 500, mPendingIntent);

        //Mata todos processos associados a este aplicativo.
        android.os.Process.killProcess(android.os.Process.myPid());
        //Fecha o aplicativo.
        System.exit(1);
    }

GIT – Configurando proxy no GIT (Getting git to work with a proxy server)

git_logo

git config –global http.proxy http://usuarioProxy:senhaProxy@IpProxy:8080

Caso seu usuario tenha @ trocar por %40 (Exemplo: gbz@abc ficaria: gbz%40abc)
Caso sua senha ou usuario tenha algum caracter especial utilizar a ‘\’ antes (Exemplo: abc! ficaria: abc\!)

Gradle – Gerar uma distribuição com suas dependências / Gerar um FatJar / Configurar o JavaExec / Configurar Manifest

gradle

Segue um script de configuração para compilar projetos java e gerar uma distribuição com todas dependências, com opcional de fatJar.
- Configurar o Manifest
- Configurar a execução pela IDE através do type: JavaExec
- Gerar uma distribuição com as dependências dentro da pasta libs/
- Gerar uma distribuição fatJar

ARQUIVO BUILD.GRADLE: Continue reading

Java – Bitwise and Bit Shift Operators

/**
 * Bitwise and Bit Shift Operators
 * 
 * Constantes: move 1bit para casa determinada após '<<' x
 * 
 * Varival i: Recebe uma operaçao OU das constantes pedidas;
 * A -   001
 * B -   010
 * C -   100 (Operacao OU)
 * _________
 * Resp: 111 (i = 111 (ou 7 decimal))
 * 
 * Verificacao das constantes dentro da variavel: 
 * - Realiza uma operaçao AND entre a variavel e a constante, se o valor
 * for diferente de 0, contem a constante dentro da variaval:
 * 
 * Exemplo caso i = A|C;
 * i - 101 
 * C - 100 (Operacao AND)
 * _______
 * Resp: 100 (valor != de 0, entra na condiçao (ou 4 dec))
 *
 * Exemplo caso i = A|C;
 * i - 101 
 * B - 010 (Operacao AND)
 * _______
 * Resp: 000 (valor == de 0, nao entra na condiçao)
 * 
 * @author Guilherme Biff Zarelli e Guilherme Alves Silveira
 */
public class teste2 {

    public static final int A = 1 << 1;
    public static final int B = 1 << 2;
    public static final int C = 1 << 3;

    public static void main(String[] args) {
        //ATRIBUICAO DAS CONSTANTES NA VARIAVAL:
        int i = A | C | B; 
        System.out.println(i);//VALOR DA OPERACAO OU
        
        //VERIFICAÇAO DAS CONSTANTES DENTRO DA VARIAVEL:
        if ((i & A) != 0) {
            System.out.println("CONTEM CONSTANTE A");
        }
        if ((i & B) != 0) {
            System.out.println("CONTEM CONSTANTE B");
        }
        if ((i & C) != 0) {
            System.out.println("CONTEM CONSTANTE C");
        }
    }
}

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html

Como resolver teclado travando esporadicamente no Android Studio com Ubuntu

lock_on_the_keyboard

 

Depois de um longo tempo descobri como resolver um problema que estava me deixando louco! Esporadicamente o Android Studio travava o teclado, tinha que fecha-lo e reabrir, ai quando você estava com mais de 3 projetos abertos tinha que fechar tudo e reabrir! Ele trava, simplesmente do nada, as vezes percebia que era a execução do atalho CRTL+Tab ou Editando um XML e pressionar algum atalho, enfim alguma coisa a ver com conflito de atalho do Android Studio com o Ubuntu.

Como resolver: Simples, execute o comando antes de abrir o Android Studio ou insira no /etc/profile do seu sistema:

$ ibus-daemon -rd

 

Android – Como copiar um texto programaticamente (How to Copy Text to Clip Board in Android?)

ctrl-c

private void setClipboard(Context context,String text) {
    if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText(text);
    } else {
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
        android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
        clipboard.setPrimaryClip(clip);
    }
}

Udacity – Cursos gratuitos Android

udacity

 

Udacity nasceu de uma experiência da Universidade de Stanford na qual Sebastian Thrun e Peter Norvig ofereceram seu curso “Introdução à Inteligência Artificial” on-line para qualquer pessoa, gratuitamente. Mais de 160 mil alunos em mais de 190 países se inscreveram e não muito mais tarde, a Udacity nasceu.

A Udacity está construindo uma universidade online, “feita pela Silicon Valley”, que:

  • ensine as habilidades que os empregadores da indústria precisam hoje
  • ofereça certificações aprovadas por empregadores
  • eduque com uma fração do custo de escolas tradicionais

Com gigantes da indústria – Google, AT&T, Facebook, Salesforce, Cloudera, etc.-oferece programas e certificações Nanodegree, projetados para que os profissionais se tornem desenvolvedores Web, analistas de dados, desenvolvedores mobile, etc. Seus alunos adquirirem competências reais através de uma série de cursos on-line e projetos hands-on.

Vejá alguns cursos GRATUITOS para desenvolvedores: Continue reading

Java – Erro: SSLHandshakeException: …validator.ValidatorException: PKIX path building failed: …SunCertPathBuilderException: unable to find valid certification path to requested target

error sslhandshake

ERROR: SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

Solução 1:

URL url = new URL("https://exemplo1");
HttpsURLConnection conn1 = (HttpsURLConnection) url.openConnection();

  conn1.setHostnameVerifier(new HostnameVerifier() {
    public boolean verify(String hostname, SSLSession session) {
      return true;
    }
  });

Solução 2: Continue reading