Android – Bloqueando a orientação de tela programaticamente

full_screen_android

Segue alguns métodos uteis para lidar com a orientação de tela programaticamente.

/**
 * Destravando orientação de tela
 *
 */
public static boolean releaseScreenOrientation(Activity activity) {
    return lockScreenOrientation(activity, ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}

/**
 * Travando orientação de tela na posição atual.
 *
 */
public static boolean lockCurrentScreenOrientation(Activity activity) {
    return lockScreenOrientation(activity, activity.getRequestedOrientation());
}

/**
 * Recebe como parametro: ActivityInfo.SCREEN_ORIENTATION_XXXXXX
 *
 * @param activity Activity
 * @param screenOrientation ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
 */
public static boolean lockScreenOrientation(Activity activity, int screenOrientation) {
    activity.setRequestedOrientation(screenOrientation);
    return true;
}

/**
 * Recebe como parametro: Surface.ROTATION_X
 *
 * @param activity Activity
 * @param screenRotation Surface.ROTATION_0 / 90 / 180 / 270
 */
public static boolean lockScreenRotation(Activity activity, int screenRotation) {
    if (screenRotation > -1) {
        int orientation = activity.getRequestedOrientation();
        switch (screenRotation) {
            case Surface.ROTATION_0:
                orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
                break;
            case Surface.ROTATION_90:
                orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
                break;
            case Surface.ROTATION_180:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
                break;
            case Surface.ROTATION_270:
                orientation = ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
                break;
        }
        return lockScreenOrientation(activity, orientation);
    } else {
        return false;
    }
}

Android Studio / Gradle / Maven – Como usar o seu repositório local Maven (How to use Maven Local repository for gradle build)

gradle

Para configurar seu repositório local Maven em um projeto no Android Studio, ou em qualquer outra IDE que utilize o Gradle basta configurarmos o arquivo build.grade adicionando o repositorio local e configurando sua localização. No exemplo a seguir vou configurar meu projeto para que use o mesmo repositório local maven utilizado pelo netbeans, assim consigo utilizar minhas bibliotecas java de uma maneira bem simples.

Abra o arquivo do projeto build.grade e edite da seguinte maneira: Continue reading

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);
    }

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

Android, GitHub, Maven, JitPack – Disponibilizando uma biblioteca Android como dependência utilizando o GitHub + JitPack (publishing of android libraries)

android-github-logo

Para disponibilizar uma biblioteca com gerenciamento de dependência, normalmente os desenvolvedores publicam suas libs em repositórios utilizando o Maven como ferramenta de configuração. Porem esse processo é complicado e trabalhoso. O JitPack (https://jitpack.io/) trabalha em conjunto com o Maven, GitHub, Gradle e o Android Arsenal para facilitar essa configuração, tornando muito simples criar uma biblioteca android para ser utilizada como dependência em outros projetos.
Ele constrói projetos Git sob demanda e fornece-lhe com artefatos prontos para o uso (jar, AAR). Se você quer sua biblioteca para estar disponível para o mundo, não há necessidade de passar por compilação de projeto e upload. Tudo que você precisa fazer é empurrar o seu projeto para GitHub e JitPack vai cuidar do resto.

1 – Primeiro de tudo, seu projeto deve estar no GitHubContinue reading

Android – Como adicionar uma view em um RelativeLayout programaticamente? (How to add a view programmattically to RelativeLayout?)

Android minimizar

//Criando uma view para adicionar no layout;
FloatingActionButton floatingActionButton = new FloatingActionButton(this);
floatingActionButton.setImageResource(R.drawable.ic_menu_add);
floatingActionButton.setOnClickListener(this);

//Adquire o RelativeLayout
RelativeLayout mainLayout = getLayout();

//Cria uma LayoutParams aonde vamos configurar as propriedades do componente inserido
//dentro do RelativeLayout;
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);

//Adiciona a view com as propriedades no RelativeLayout
mainLayout.addView(floatingActionButton, params);

Android – Links úteis para ícones e geradores de ícones

icone_generator

===============================================

ROMANNURIK – AndroidAssetStudio

https://romannurik.github.io/AndroidAssetStudio/index.html

Icon generators — Make icons for your app

Icon generators allow you to quickly and easily generate icons from existing source images, clipart, or text.

Other generators — Miscellaneous asset creation tools

=================================VEJA MAIS-> Continue reading