Android – Tocar Alarme com o MediaPlayer

Android Audio

MediaPlayer

A classe MediaPlayer pode ser usada para controlar a reprodução de áudio/vídeo ou stream.

Diagrama de Estado

O diagrama a seguir mostra o ciclo de vida e os estados de um objeto MediaPlayer impulsionado pelas operações de controle de reprodução.  As ovais representam os estados de um objeto MediaPlayer podem residir dentro. Os arcos representam as operações de controlo de reprodução que conduzem a transição de estado do objeto. Existem dois tipos de arcos. Os arcos com uma ponta de seta única são chamadas de métodos síncronos, enquanto que aqueles com uma ponta de seta dupla representa chamadas de método assíncrono.
Continue reading

AsyncTask – Executando tarefas em segundo plano.

Android AsyncTask

AsyncTask um Substituto de Threads e Handles

Como todo desenvolvedor Android sabe, é bem chato mexer com Threads, ainda mais quando há necessidade de atualizar a interface, para isso atualmente usamos a famosa ThreadUI ou Handler.

Pesquisando, encontrei uma maneira de trabalhar com essas Threads distintas facilmente utilizando a classe AsyncTask, com ela nos não precisamos nos preocupar com o tal de Handler. Nela executamos qualquer processo paralelamente e temos um método responsável por atualizar a interface.

Quando estendemos a AsyncTask ele nos obriga a definir três tipos de classes:

(defini esses tipos como exemplo)

Continue reading

Android – Verificar serviços em execução

Os serviços são executados em segundo plano por tempo indeterminado , geralmente eles tem um alto consumo de recursos, memoria e CPU. Não há interação com o usuário e não precisa de interface gráfica.

Eles podem ser utilizados para fazer download de alguma informação, fazer verificações no sistema, um reprodutor de MP3 entre outros processos demorados sem que o usuário perceba.

Atravez deste método o sistema verifica os serviços que estão rodando:

   public boolean isServiceRunning(String servicoClassName) {
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        List<RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);
        Log.d(TAG,"Procurando Serviços");
        for (int i = 0; i < services.size(); i++) {
            Log.d(TAG,"Service Nr. " + i + " class name : " + services.get(i).service.getClassName());
	    if(services.get(i).service.getClassName().compareTo(servicoClassName)==0){
	    	return true;
	    }
        }
        return false;
    }

Fonte imagem: http://images.mylot.com/userImages/images/postphotos/2521292.jpg

Android Criando um ListView Personalizado (Create a custom listview)

Custom ListView

Para criar um listView personalizado não é difícil porem é um trabalho chato de se fazer.
O conceito é, preencher uma lista de objetos que contem os dados de seu item e passar essa lista para um adapter que irá preencher o ListView, através desse adapter nós poderemos ter o controle sobre a lista, podendo remover item adicionar e pegar o selecionado.

Primeiro crie o layout de onde ficara seu listView, para isso criei o “main.xml”:
Continue reading

Android – Criando uma notificação

A notificação no android é muito utilizada, quando temos uma aplicação rodando em segundo plano por exemplo e essa aplicação necessita informar algo para o usuário a melhor maneira é exibindo uma notificação, nós não podemos simplismente abrir uma tela na frente, pois pode atrapalhar o que o usuário está fazendo no momento.

Abaixo segue um exemplo prático de como implementar uma aplicação que execute uma notificação.

Continue reading

Android Iniciar emulador no Fedora 64bits

Olá tive o seguinte problema ao iniciar o android no Fedora 64bits:

“SDL init failure, reason is: No available video device”

Antes ocorreu um erro informando que faltava um .so “libstdc++”.

Bom para resolver esses e outros problemas ao iniciar a maquina virtual do android em x64 basta rodar o seguinte comando no terminal:
Continue reading

Android Aplicações Fullscreen

Olá pessoal, para fazer sua aplicação fullscreen no android é bem simples, há duas maneiras.
Segue os exemplos abaixo:

A primeira maneira basta colocar o código no método onCreate de sua Activity:

public void onCreate(Bundle savedInstance) {
	super.onCreate(savedInstance);

	requestWindowFeature(Window.FEATURE_NO_TITLE);
	getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

	setContentView(R.layout.main);
}

A segunda maneira é inserir no Manifest.xml uma tag de theme como abaixo:

<activity android:name="LibraryActivity"
	android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
	<intent-filter>
		<action android:name="android.intent.action.MAIN" />
		<category android:name="android.intent.category.LAUNCHER" />
	</intent-filter>
</activity>

Obrigado.
Guilherme Biff Zarelli