+ curso de android xviii jornada de cursos. + 5. criando aplicações android (cont.)
TRANSCRIPT
+
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
+Aplicação de lista telefônica
+Aplicação de lista telefônica
No arquivo main.xml, adicionaremos o elemento:
ListViewid: “@+id/lstcontatos”layout_width: “fill_parent”
+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);
+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();
}});
+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;
+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
+Aplicação que visualiza imagens
+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.
+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>
+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”
+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);
+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");
}});
}
+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,...
+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
+Aplicação que visualiza imagens v1.1
+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”
+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; }
+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)));
}}
+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));}
+Melhorando!
Coloque, na aplicação, outra galeria, e implemente dois botões que trocam as imagens de galeria