Buscar

Inserindo recursos em apps móveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação para dispositivos moveis
Fabiano Gonçalves dos Santos
Aula 6
Como podemos inserir mais recursos no nosso app?
http://www.elandroidelibre.com/wp-content/uploads/2012/08/question.png
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
2
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
3
Antes
CheckBox
RadioButton - Intro
Agora
RadioButton – App
Spinner
https://developer.android.com/guide/topics/ui/controls
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
4
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
5
<LinearLayoutxmlns: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=".Principal"
android:orientation="vertical">
<TextView
android:text="@string/txt_questao"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20sp"
android:textSize="24sp"
android:textColor="#0000FF"/>
6
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
6
7
<RadioGroup
android:id="@+id/rdgAlter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/rdbA"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/rdb_a"
android:textSize="22sp"
android:checked="true"/>
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
7
<RadioButton
android:id="@+id/rdbB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/rdb_b"
android:textSize="22sp"/>
<RadioButton
android:id="@+id/rdbC"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/rdb_c"
android:textSize="22sp"/>
<RadioButton
android:id="@+id/rdbD"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/rdb_d"
android:textSize="22sp"/>
8
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
8
<RadioButton
android:id="@+id/rdbE"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/rdb_e"
android:textSize="22sp"/>
</RadioGroup>
<Button
android:id="@+id/btnOK"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn_ok"
android:layout_marginTop="20sp"
android:textSize="22sp" />
</LinearLayout>
9
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
9
Lógica
Na mesma tela o usuário selecionará um das respostas Item escolhido exclui os demais
Poderá exibir os temas selecionados  Mostrará o tema escolhido
Resultado da questão  Lógica para validar
10
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
public class Principal extends Activity implementsView.OnClickListener,RadioGroup.OnCheckedChangeListener{
privateRadioGrouprdgAlter;
private ButtonbtnOK;
private final String CORRETA="E";
@Override
protected voidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
rdgAlter= (RadioGroup)findViewById(R.id.rdgAlter);
btnOK= (Button)findViewById(R.id.btnOK);
rdgAlter.setOnCheckedChangeListener(this);
btnOK.setOnClickListener(this);
}
12
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
12
@Override
public voidonClick(View v) {
String txt = "";
if (rdgAlter.getCheckedRadioButtonId() ==R.id.rdbE){
txt = "Parabéns,alternativacorreta!";
}else{
txt = "Vocênãoacertou,tentenovamente.";
}
AlertDialog.Builderdlg= newAlertDialog.Builder(this);
dlg.setTitle(R.string.app_name);
dlg.setMessage(txt);
dlg.setPositiveButton("OK",null);
dlg.show();
}
13
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
13
@Override
public voidonCheckedChanged(RadioGroupgroup,intcheckedId) {
//Retornaro TEXTO doRadioButtonselecionado
RadioButtonrdb= (RadioButton)findViewById(group.getCheckedRadioButtonId());
Toast.makeText(this,rdb.getText(),Toast.LENGTH_SHORT).show();
}
}
14
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
14
15
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
Controle para Exibição de Conjuntos
Spinner
DropDown (combobox)
Definição estática no strings.xml
Ou dinâmica (consulta à base de dados)
AdapterView.OnItemSelectedListener 
Determina elemento selecionado
16
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
17
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
Lógica
Clica na listagem e escolhe um nome
Ou clica e escolhe uma cidade
Após cadastro apresenta Caixa de Mensagem
18
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Cadastro</string>
<string name="txt_cadastro">CadastrodePessoas</string>
<string name="txt_nome">Nome</string>
<string name="txt_cidade">Cidade</string>
<string name="btn_cadastrar">Cadastrar</string>
<string name="action_settings">Configurações</string>
<string-array name="lista_nomes">
<item>Alexander Tanner</item>
<item>Marsden Kirkland</item>
<item>Brenden Swanson</item>
<item>Caleb Odom</item>
<item>Plato Baldwin</item>
<item>Cadman Becker</item>
19
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
19
<item>Byron Sharpe</item>
<item>NathanielBass</item>
<item>Uriah Pate</item>
<item>Wallace Day</item>
<item>Elmo Woodard</item>
<item>Lucius Evans</item>
<item>Abdul Sexton</item>
<item>Kelly Beach</item>
<item>Richard Hardy</item>
<item>Driscoll Adkins</item>
<item>Tarik West</item>
<item>Orson House</item>
<item>Aaron Sparks</item>
</string-array>
</resources>
20
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
20
<LinearLayoutxmlns: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=".Principal"
android:orientation="vertical">
<TextView
android:text="@string/txt_cadastro"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:textStyle="bold" />
21
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
21
<TextView
android:text="@string/txt_nome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:textSize="24sp"/>
<Spinner
android:id="@+id/spnNomes"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:spinnerMode="dialog"
android:textSize="24sp" />
22
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
22
<TextView
android:text="@string/txt_cidade"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20sp"
android:textSize="24sp"/>
<Spinner
android:id="@+id/spnCidades"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:spinnerMode="dropdown"
android:textSize="24sp" />
23
Programação para dispositivosmóveis
Fabiano Gonçalves dos Santos
Aula 6
23
<Button
android:id="@+id/btnCadastrar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/btn_cadastrar"
android:layout_marginTop="20sp"
android:textSize="24sp"/>
</LinearLayout>
24
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
24
public class Principal extends Activity implementsView.OnClickListener,AdapterView.OnItemSelectedListener{
private SpinnerspnNomes;
private SpinnerspnCidades;
private ButtonbtnCadastrar;
private List<String>listaCidadades;
@Override
protected voidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
spnNomes= (Spinner)findViewById(R.id.spnNomes);
spnCidades= (Spinner)findViewById(R.id.spnCidades);
btnCadastrar= (Button)findViewById(R.id.btnCadastrar);
spnNomes.setOnItemSelectedListener(this);
spnCidades.setOnItemSelectedListener(this);
btnCadastrar.setOnClickListener(this);
carregarListaNomes();
carregarListaCidades();
}
25
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
25
// CARREGARlistadenomesdo RESOURCE
private voidcarregarListaNomes(){
ArrayAdapter<CharSequence>adp=ArrayAdapter.createFromResource(
this,R.array.lista_nomes,
android.R.layout.simple_spinner_item);
adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnNomes.setAdapter(adp);
}
26
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
26
// CARREGARlistadecidadesdo ARRAYLIST
private voidcarregarListaCidades(){
listaCidadades= newArrayList<String>();
listaCidadades.add("Americana");
listaCidadades.add("Araraquara");
listaCidadades.add("Batatais");
listaCidadades.add("Campinas");
listaCidadades.add("Limeira");
listaCidadades.add("RibeirãoPreto");
listaCidadades.add("São Paulo");
ArrayAdapter<String>adp= newArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,listaCidadades);
adp.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCidades.setAdapter(adp);
}
27
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
27
@Override
public voidonClick(View v) {
if(v.getId() ==R.id.btnCadastrar){
AlertDialog.Builderdlg= newAlertDialog.Builder(this);
dlg.setTitle(R.string.app_name);
dlg.setMessage("");
dlg.setPositiveButton("OK",null);
dlg.show();
}
}
@Override
public voidonItemSelected(AdapterView<?> parent, Viewview,intposition, long id) {
//Exibiritemselecionado
String item =parent.getItemAtPosition(position).toString();
Toast.makeText(this,item,Toast.LENGTH_SHORT).show();
}
28
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
28
@Override
public voidonNothingSelected(AdapterView<?> parent) {
}
}
29
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
29
30
Programação para dispositivos móveis
Fabiano Gonçalves dos Santos
Aula 6
Obrigado!
31

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

51 pág.
aula01

Colégio Dom Bosco

User badge image

mariaester041092

Perguntas Recentes