Nessa serie de videos estarei criando um player básico, com playlist, botões customizados etc..
quinta-feira, 20 de agosto de 2015
segunda-feira, 27 de julho de 2015
Python Dicionários
Dicionários são muito úteis em Python, muitas vezes dicionários são encontrados em outras linguagens de programações como "memórias associativas" ou "arrays associativos". Os dicionários são indexados por chaves e não possuem uma ordem certa.
Para criar um dicionário vazio utilizamos a seguinte sintaxe dic ={} , dessa forma criamos um dicionário com o nome dic que não possui nenhum valor, podemos adicionar valores da seguinte forma:
dic = {} dic["nome"] = "Renan"
Criamos um dicionário com o valor "Renan" que é indexado pela chave "nome", dessa forma para encontrar o valor preciso usar sua chave, vamos imprimir o valor "Renan" na tela, veja o exemplo.
dic = {} dic["nome"] = "Renan" print dic["nome"]
Podemos utilizar vários tipos como chaves desde que eles sejam imutáveis, podemos sempre utilizar strings e números como chaves, também podemos utilizar tuplas como chaves desde que elas não contenham valores mutáveis. Vejamos alguns exemplos com dicionários.
dic = {"nome":"Renan","numero":1} #podemos criar um dicionário passando os valores print dic["nome"] print dic["numero"] print dic #aqui imprimimos o dicionário o resultado será {'numero': 1, 'nome': 'Renan'}
Utilizando números como chaves:
dic = {} dic[1] = "um" dic[2] = "dois" dic[3] = "três" print dic[1] print dic[2] '''O resultado será um dois'''
Podemos também fazer verificações em um dicionário, vamos criar um dicionário como o nome agenda e vamos colocar nomes e números de contatos, depois vamos verificar se o nome consta na agenda (dicionário), caso o contato exista no dicionário vamos mostrar na tela, caso contrário vamos dizer que o contato não existe.
agenda = {"Renan":99443322,"Maria":88774433,"Joao":99112233} if("Renan" in agenda): print "O número do contato eh ", agenda["Renan"] else: print "O contato Renan não existe" '''O número do contato eh 99443322'''
quarta-feira, 22 de julho de 2015
Java como utilizar a Interface Comparable.
A Interface Comparable impõe uma total ordenação para os objetos das classes que a implementam, essa ordenação é feita a partir do método compareTo(T o) que deve ser obrigatoriamente implementado após a interface Comparable ser implementada.
O método compareTo(T o) deverá retornar um valor inteiro sendo -1 quando o objeto que chama o método for menor que o objeto comparado , 0 (zero) quando igual e 1 quando o objeto que chama o método for maior que o objeto comparado.
Digamos que temos uma classe Pessoa que tem as variáveis nome e idade e queremos organizar os objetos da classe Pessoa em uma lista em ordem de menor idade para maior idade, para isso nossa classe Pessoa deve implementar a interface Comparable, a sintaxe da interface Compable é public interface Comparable<T>, onde T será o objeto a ser comparado, no nosso caso será Pessoa.
Quando implementamos uma interface devemos implementar seus métodos no caso da interface Comparable o método que devemos implementar é o compareTo(T o) onde o T é o objeto a ser comparado no nosso caso Pessoa.
Agora tudo que devemos fazer é utilizar os atributos da classe para fazermos a ordenação, no nosso exemplo dizemos que nosso método compareTo() deve retornar -1 quando a idade seja inferior a idade do objeto que está sendo comparado, 0 quando a idade for igual a idade do objeto que está sendo comparado e 1 quando a idade for maior.
Agora vamos criar uma classe para testar nosso exemplo, vamos criar sete objetos da classe Pessoa com nomes e idades variadas, depois vamos adicioná-las em um ArrayList e vamos imprimi-los na tela, depois vamos utilizar o método sort da classe Collections para organizar nossos objetos, pois esse método sort utilizará o método compareTo() de cada objeto pessoa dentro do ArrayList para fazer a ordenação, e depois de ordená-los vamos imprimi-los novamente na tela.
O Resultado será o seguinte:
Lista desordenada
Nome: Renan idade: 27
Nome: Maria idade: 15
Nome: Joao idade: 32
Nome: Renata idade: 8
Nome: Joseane idade: 18
Nome: Roberto idade: 64
Nome: Mario idade: 18
Lista ordenada por idade
Nome: Renata idade: 8
Nome: Maria idade: 15
Nome: Joseane idade: 18
Nome: Mario idade: 18
Nome: Renan idade: 27
Nome: Joao idade: 32
Nome: Roberto idade: 64
Aqui encerro esse artigo! Espero ter ajudado!
O método compareTo(T o) deverá retornar um valor inteiro sendo -1 quando o objeto que chama o método for menor que o objeto comparado , 0 (zero) quando igual e 1 quando o objeto que chama o método for maior que o objeto comparado.
Digamos que temos uma classe Pessoa que tem as variáveis nome e idade e queremos organizar os objetos da classe Pessoa em uma lista em ordem de menor idade para maior idade, para isso nossa classe Pessoa deve implementar a interface Comparable, a sintaxe da interface Compable é public interface Comparable<T>, onde T será o objeto a ser comparado, no nosso caso será Pessoa.
Nossa classe ficará assim:
public class Pessoa implements Comparable<Pessoa>{ }
public class Pessoa implements Comparable<Pessoa>{ private String nome; private int idade; public Pessoa(String nome,int idade){ this.nome = nome; this.idade = idade; } public int getIdade(){ return this.idade; } public void setCpf(int idade){ this.idade = idade; } public String getNome(){ return this.nome; } public void setNome(String nome){ this.nome = nome; } @Override public int compareTo(Pessoa pessoa){ return 0; } }
Agora tudo que devemos fazer é utilizar os atributos da classe para fazermos a ordenação, no nosso exemplo dizemos que nosso método compareTo() deve retornar -1 quando a idade seja inferior a idade do objeto que está sendo comparado, 0 quando a idade for igual a idade do objeto que está sendo comparado e 1 quando a idade for maior.
@Override public int compareTo(Pessoa pessoa){ if( this.getIdade()<pessoa.getIdade() ){ return -1; }else if( this.getIdade()==pessoa.getIdade() ){ return 0; }else{ return 1; } }
Agora vamos criar uma classe para testar nosso exemplo, vamos criar sete objetos da classe Pessoa com nomes e idades variadas, depois vamos adicioná-las em um ArrayList e vamos imprimi-los na tela, depois vamos utilizar o método sort da classe Collections para organizar nossos objetos, pois esse método sort utilizará o método compareTo() de cada objeto pessoa dentro do ArrayList para fazer a ordenação, e depois de ordená-los vamos imprimi-los novamente na tela.
import java.util.ArrayList; import java.util.Collections; public class MainClass { public static void main(String[] args) { Pessoa p1 = new Pessoa("Renan",27); Pessoa p2 = new Pessoa("Maria",15); Pessoa p3 = new Pessoa("Joao",32); Pessoa p4 = new Pessoa("Renata",8); Pessoa p5= new Pessoa("Joseane",18); Pessoa p6 = new Pessoa("Roberto",64); Pessoa p7 = new Pessoa("Mario",18); ArrayList<Pessoa> lista = new ArrayList<Pessoa>(); lista.add(p1); lista.add(p2); lista.add(p3); lista.add(p4); lista.add(p5); lista.add(p6); lista.add(p7); //antes de ordenar por idade System.out.println("Lista desordenada"); for(Pessoa p: lista){ System.out.println("Nome: "+p.getNome()+" idade: "+p.getIdade()); } Collections.sort(lista); System.out.println(""); //depois de ordenar System.out.println("Lista ordenada por idade"); for(Pessoa p: lista){ System.out.println("Nome: "+p.getNome()+" idade: "+p.getIdade()); } } }
Lista desordenada
Nome: Renan idade: 27
Nome: Maria idade: 15
Nome: Joao idade: 32
Nome: Renata idade: 8
Nome: Joseane idade: 18
Nome: Roberto idade: 64
Nome: Mario idade: 18
Lista ordenada por idade
Nome: Renata idade: 8
Nome: Maria idade: 15
Nome: Joseane idade: 18
Nome: Mario idade: 18
Nome: Renan idade: 27
Nome: Joao idade: 32
Nome: Roberto idade: 64
Aqui encerro esse artigo! Espero ter ajudado!
terça-feira, 21 de julho de 2015
Comando Switch Case em Java
Comando Switch Case em Java
Assim como o comando if else, o
comando switch em Java desempenha uma função condicional, geralmente se utiliza
o comando switch quando se tem muitas condições envolvidas, imagine que você
quer imprimir um número de um a dez por extenso, poderíamos utilizar os
comandos if else porém ficaria muito extenso e complexo para entender vejamos
um exemplo utilizando if else.
... int numero = 2; //aqui utilizaríamos o if else if(numero==0){ System.out.println(“zero”); }else if(numero==1){ System.out.println(“um”); } else if(numero== 2){ System.out.println(“dois”); } //e continuaríamos até dez ...
Como vimos acima a quantidade de
if else seria enorme levando em consideração que utilizaríamos dez condições no
nosso exemplo, imagine então que dentro de cada if else acima tivesse mais
condições, ficaria ainda mais difícil de compreender o código, bem e como seria
o switch case? E como ele nos ajudaria nesse exemplo acima?
O switch case em Java é bem simples
de entender e utilizá-lo, ele recebe um parâmetro e a partir desse parâmetro
fazemos comparações utilizando a palavra reservada case, de uma maneira mais fácil de entender, digamos que temos como
parâmetro um valor inteiro 2 a
partir desse parâmetro faríamos o seguinte, caso o parâmetro seja 0 imprima
“zero”, caso seja 1 imprima “um”, caso seja 2 imprima “dois”, vejamos o exemplo
abaixo.
... // aqui inicializamos o switch utilizando uma variável
// com um valor inteiro int numero = 2; switch(numero){ //aqui fazemos a verificação utilizando case case 0: System.out.println(“zero”); /* devemos colocar um break em cada condição pois
caso contrário o switch vai continuar com a
verificação, o break vai parar o switch uma
vez que entre em uma das condições.*/ break; case 1: System.out.println(“um”); break; case 2: System.out.println(“dois”); break; //criariamos cases até dez }//aqui termina o switch ...
O switch facilita na leitura do
código e é bem prático e fácil de usar, vendo o exemplo acima imagine se o parâmetro
passado fosse 11 ou -1 o que aconteceria? Exatamente o que você pensou, NADA,
pois nenhum dos cases tem 11 ou -1, nesse caso seria justo avisar ao usuário
que o que o parâmetro passado não é uma opção válida, e aí? Como faríamos? É
fácil para isso utilizamos a palavra reservada default, com ela decidimos o que
acontecerá caso nenhuma das alternativas forem válidas, por isso é muito
importante utilizar o break em cada condição pois do contrário a condição
default será acionada mesmo se o switch entrar em uma condição antes do
default.
... // aqui inicializamos o switch utilizando uma variável
//com um valor inteiro int numero = 2; switch(numero){ //aqui fazemos a verificação utilizando case case 0: System.out.println(“zero”); /* devemos colocar um break em cada condição
pois caso contrário o switch vai continuar com a
verificação, o break vai parar o switch uma
vez que já encontramos a condição desejada.*/ break; case 1: System.out.println(“um”); break; case 2: System.out.println(“dois”); break; //aqui colocaremos nosso valor padrão (default) default: System.out.println(“Opção inválida”); break; }//aqui termina o switch ...
Aqui encerro esse artigo sobre
switch em Java espero ter ajudado.
Java método substring da classe String
Java método substring da classe String
Descrição
Retorna uma nova string que é uma substring da string atual (meio enrolado não? mas fica fácil de entender com os exemplos). A substring começa a partir do index do caractere passado por parâmetro e segue até o fim da string atual.
Sintaxe do método
public String substring(int beginIndex)
Exemplo
"unhappy".substring(2) retorna "happy" //retorna uma string a partir do h que cujo indice é 2 "Harbison".substring(3) retorna "bison" //retorna uma string a partir do b que cujo indice é 3 "emptiness".substring(9) retorna "" //(uma string vazia)
Java método replace da classe String
Java método replace da classe String
Descrição
Retorna uma nova String resultante da substituição do velho caractere pelo novo caractere, caso o caractere velho não seja encontrado uma nova referência idêntica a String passada será retornada.
Sintaxe do método
public String replace(char oldChar,char newChar)
Exemplo
String nome = "Merie"; nome.replace("e","a"); //retorna maria nome = "Paulo"; nome.replace("o","a"); // retorna Paula nome = "Eduardo"; nome.replace("s","a"); // retorna Eduardo (pois não encontra s na String)
sexta-feira, 13 de fevereiro de 2015
Android Spinners
Android Spinners
Spinners nos fornecem uma maneira rápida de selecionar um valor de um conjunto de valores. Em um estado padrão, um Spinner mostra seu valor atual. Tocando no Spinner ele mostra um dropdown menu com todos os outros valores, onde o usuário pode escolher um novo valor.
Nesse tutorial estarei explicando como utilizar um Spinner, estarei utilizando o Android Studio 1.0.2, veja os passos que realizaremos neste tutorial.
- Criaremos uma MainActivity
- Adicionaremos um Spinner no activity_main.xml
- Utilizaremos o Spinner na MainActivity
- Mostraremos na tela o item selecionado no Spinner
Nosso projeto ficará assim:
Você pode adicionar um Spinner no seu layout com o Objeto Spinner. Você deve cria-lo no seu layout XML com o elemento
<Spinner>
. Por exemplo:<Spinner
android:id="@+id/planets_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
Outra forma de adicionar o Spinner no seu layout é arrastando para o seu layout a partir do editor gráfico do Android Studio.
Como nesse criaremos um Spinner com nomes de pessoas colocaremos no nosso activity_main.xml um TextView que terá o valor Nome: e o nosso Spinner que armazenará nossa lista de nomes .Abaixo o código do activity_main.xml.
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:padding="10dp"> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/spinner" android:layout_alignTop="@+id/textView" android:layout_toRightOf="@+id/textView" android:layout_toEndOf="@+id/textView" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Nomes: " android:id="@+id/textView" android:layout_marginTop="66dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginRight="10dp"/> </RelativeLayout>
Agora vamos trabalhar na nossa classe MainActivity.java, começaremos por criar um objeto do tipo Spinner e armazena-lo em uma variável chamada spinner. Neste tutorial criaremos um Spinner com nomes de Pessoas como mostrado anteriormente na imagem acima, para colocar estes nomes no nosso spinner precisaremos criar uma lista de nomes , podemos usar um array de Strings , ArrayList<String> etc. No nosso caso usaremos um array de Strings, após criarmos a nossa lista de nomes precisamos coloca-la dentro do nosso Spinner, porém o Spinner não aceita um array de String como parâmetro para definirmos como lista, então o que fazer? Sabemos que o Spinner aceita um adapter como parâmetro e é isso que daremos a ele. Vamos criar um ArrayAdapter de String e passar nossa lista de nomes dentro dele, então poderemos passar o ArrayAdapter como parâmetro no nosso Spinner. Veja o código abaixo.
MainActivity.java
package com.inforprogramm.aulaspinner; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.Spinner; public class MainActivity extends Activity { //Criamos a variavel spinner private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //instanciamos o spinner que está no nosso activity_main.xml spinner = (Spinner) findViewById(R.id.spinner); //Criamos uma lista de Nomes String nomes [] = {"José","Paulo","Maria","Henrique","João Paulo","Fernanda","Leticia"}; //O spinner recebe um adapter que pode ser do tipo ArrayAdapter então criamos um ArrayAdapter e colocamos nossa lista dentro ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,nomes); //Agora definimos o adapter para nosso Spinner spinner.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Agora que já criamos nosso Spinner com sucesso vamos fazer com que cada vez que o usuário clique em um nome diferente na lista mostre-o na tela, para isso usaremos o método setOnItemSelectedListener() do Spinner, esse método executa determinado código que esteja dentro do método onItemSelected() cada vez que um item do Spinner for selecionado, no nosso caso usamos um método statico da classe Toast que serve para imprimir na tela uma mensagem, dessa forma tudo que devemos fazer é pegar o valor do Spinner que foi selecionado, usando o método getSelectedItem() do Spinner que retorna um Object então usamos o método toString() para converter-lo em String. Veja abaixo.
package com.inforprogramm.aulaspinner; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends Activity { //Criamos a variavel spinner private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //instanciamos o spinner que está no nosso activity_main.xml spinner = (Spinner) findViewById(R.id.spinner); //Criamos uma lista de Nomes String nomes [] = {"José","Paulo","Maria","Henrique","João Paulo","Fernanda","Leticia"}; //O spinner recebe um adapter que pode ser do tipo ArrayAdapter então criamos um ArrayAdapter e colocamos nossa lista dentro ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,nomes); //Agora definimos o adapter para nosso Spinner spinner.setAdapter(adapter); //Criaremos uma acao para cada vez que um item seja selecionado no spinner spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //toda vez que um item for selecionado esse codigo será executado Toast.makeText(MainActivity.this, spinner.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Baixar código fonte : Android Spinner
Assinar:
Postagens (Atom)