+ curso de android xviii jornada de cursos. + 5. criando aplicações android (cont.)

23
+ Curso de Android XVIII Jornada de Cursos

Upload: internet

Post on 21-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+

Curso de Android

XVIII Jornada de Cursos

Page 2: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+5. Criando aplicações Android (cont.)

Page 3: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação de lista telefônica

Project Name: ListaTelefonica

Package Name : br.ufpe.cin.android.applista

Create Activity: AppLista

Application Name: Lista de contatos

Min SDK Version: 10

Page 4: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação de lista telefônica

Page 5: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação de lista telefônica

No arquivo main.xml, adicionaremos o elemento:

ListViewid: “@+id/lstcontatos”layout_width: “fill_parent”

Page 6: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação de lista telefônica

AppLista.java

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);setContentView(R.layout.main);ArrayAdapter<String> adapter = new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, contatos);

lista = (ListView)findViewById(R.id.lstcontatos);

lista.setAdapter(adapter);

Page 7: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação de lista telefônica

lista.setOnItemClickListener(newOnItemClickListener(){

public void onItemClick(AdapterView parent, View view, int position, long id) {

AlertDialog.Builder dialogo = new

AlertDialog.Builder(AppLista.this);dialogo.setTitle("Contato

selecionado");dialogo.setMessage(((TextView)

view).getText().toString());dialogo.setNeutralButton("OK",

null);dialogo.show();

}});

Page 8: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Desafio!

Altere a aplicação para suportar as seguintes funções: Inserir um contato, exibindo um alerta confirmando a

operação; Remover um contato ao clicar no mesmo, exibindo

ainda um alerta confirmando a operação;

Page 9: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

Project Name: VisualizadorDeImagens

Package Name : br.ufpe.cin.android.appimagem

Create Activity Name: AppImagem

Application Name: Visualizador de Imagens

Min SDK Version: 10

Page 10: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens

Page 11: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

Dentro de res/drawable-mdpi: coala.jpg; farol.jpg;

Adicionaremos também um LinearLayout do tipo Horizontal DENTRO do Layout padrão, que contém um objeto ImageView.

Page 12: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

Ao adicionar os elementos pelo Graphical Layout, altere as propriedades para ficarem como estão abaixo:

<LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" >

<ImageView android:id="@+id/imagem" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/coala" />

</LinearLayout>

Page 13: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

No arquivo main.xml, adicionaremos os elementos em ordem:

TextViewid: “@+id/txtinfo”

text: “Foto 1” Button1id: “@+id/btimagem1”text: “Exibir foto 1”layout_width: “fill_parent”Button2id: “@+id/btimagem2”text: “Exibir foto 2”layout_width: “fill_parent”

Page 14: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

AppImage.javapublic void onCreate(Bundle savedInstanceState)

{super.onCreate(savedInstanceState);setContentView(R.layout.main);//Pega as referências de todos os componentes da

telaButton btfoto1 = (Button)

findViewById(R.id.btimagem1);Button btfoto2 = (Button)

findViewById(R.id.btimagem2);imagem = (ImageView)

findViewById(R.id.imagem);txt = (TextView)

findViewById(R.id.txtinfo);

Page 15: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

btfoto1.setOnClickListener(newView.OnClickListener(){

public void onClick(View arg0) {

imagem.setImageResource(R.drawable.coala);txt.setText("Foto 1");

}});btfoto2.setOnClickListener(new

View.OnClickListener(){public void onClick(View arg0) {

imagem.setImageResource(R.drawable.farol);txt.setText("Foto 2");

}});

}

Page 16: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Melhorando!

Coloque mais 3 imagens na pasta res/drawable-mdpi;

Faça a seleção das mesmas através de um Spinner;

Dê a possibilidade do usuário editar o nome dessa imagem, que possui um valor default; Imagem 1, Imagem 2,...

Page 17: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.1

Project Name: GaleriaDeImagens

Package Name : br.ufpe.cin.android.appgallery

Create Activity: AppGallery

Application Name: Galeria de Imagens

Min SDK Version: 10

Page 18: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.1

Page 19: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.1

No arquivo main.xml, adicionaremos o elemento:

Para essa aplicação, criaremos uma classe auxiliar: ImageAdapter.

Galleryid: “@+id/gallery”layout_width: “fill_parent”

Page 20: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.1

ImageAdapter.javapackage br.ufpe.cin.android.appgallery; import android.content.Context;import android.view.*;import android.widget.*;public class ImageAdapter extends BaseAdapter {

private Context myContext;private int[] myImageIds = {

R.drawable.coala,R.drawable.farol,R.drawable.pinguins,

};public ImageAdapter(Context c) { this.myContext = c; }

Page 21: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.1

public int getCount() { return this.myImageIds.length; }public Object getItem(int position) { return position; }public long getItemId(int position) { return position; }

public View getView(int position, ViewconvertView, ViewGroup parent) {

ImageView i = new ImageView(this.myContext);i.setImageResource(this.myImageIds[position]);i.setScaleType(ImageView.ScaleType.FIT_XY);i.setLayoutParams(new Gallery.LayoutParams(150,

150));return i;

}

public float getScale(boolean focused, int offset) {return Math.max(0, 1.0f /

(float)Math.pow(2, Math.abs(offset)));

}}

Page 22: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Aplicação que visualiza imagens v1.0

AppGallery.javapublic void onCreate(Bundle

savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);((Gallery)

findViewById(R.id.gallery)).setAdapter(new

ImageAdapter(this));}

Page 23: + Curso de Android XVIII Jornada de Cursos. + 5. Criando aplicações Android (cont.)

+Melhorando!

Coloque, na aplicação, outra galeria, e implemente dois botões que trocam as imagens de galeria