abr 25

Adicionando itens a uma listagem de itens na tela no Android

Vou exemplificar nesse post como adicionar itens a uma listagem em um aplicativo android.

Para começar definamos nosso XML de layout: Você pode tanto utilizar o main.xml, ou criar o seu, crie sempre na pasta: nomeDoProjeto/res/layout e sempre crie-o com letras minúsculas senão a classe R não será gerada e seu programa não funcionará com o layout criado.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
<ScrollView android:layout_height="200dip" android:id="@+id/scrollView1"
android:layout_width="fill_parent">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/listas">
</LinearLayout>
</ScrollView>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"  android:id="@+id/addLista" android:orientation="horizontal">

<TextView android:layout_height="wrap_content" android:text="@string/nome_lista" android:id="@+id/textView1" android:layout_width="wrap_content"></TextView>
<EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="2" android:id="@+id/nome_lista"></EditText>
<Button android:layout_height="wrap_content" android:text="@string/adicionar" android:layout_width="wrap_content" android:id="@+id/adicionar_lista"></Button>

</LinearLayout>

</LinearLayout>

Neste arquivo de XML eu defini um ScrollView para a listagem dos itens da lista em um pedaço da tela que possua rolagem e abaixo dele um LinearLayout que contem as views necessárias para inserir um novo item .

Agora vamos ao código Java, onde teremos uma Activity principal que utilizará o layout definido acima e fará o que desejamos.

package br.lista;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Lista extends Activity    {
	/** Called when the activity is first created. */

	private Context ctx = this;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layoutlistas);

        //adição de novos itens
        Button adicionar = (Button) findViewById(R.id.adicionar_lista);
        adicionar.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				LinearLayout layout = (LinearLayout) findViewById(R.id.listas);
				EditText eTNomeLista = (EditText) findViewById(R.id.nome_lista);
				if(eTNomeLista.getText() != null && !eTNomeLista.getText().toString().equals("")) {
					TextView text = new TextView(ctx);
					text.setText(eTNomeLista.getText().toString());
					eTNomeLista.setText("");
					layout.addView(text);
					layout.requestLayout();
				}

			}
		});

    }

}

O código acima é simples de se entender, basicamente ele faz com que ao clicar no botão de adicionar novo item , o valor do campo editText (se houver algo escrito nele) seja atribuido a um novo TextView e este seja adicionado ao layout que está contido dentro do ScrollView, por fim chamo o método  requestLayout(), que é comum a todos os objetos que herdam da classe View,  para que seja refeito o layout da tela.

É isso, fica aí um exemplo simples de adicionar itens a uma lista na tela do android!

abr 20

Sorteios web

Todos vão dizer que já existe por aí, mas o único que eu conheço mesmo é o sorteie.me que faz sorteios no twitter.

Este aplicativo, que pode ser acessado clicando aqui, eu desenvolvi para sanar um problema da minha digníssima namorada, que possui um blog de maquiagens: o Beauty Blog, e tinha muita dificuldades de realizar sorteios no blog, pois os sorteios eram contabilizados a partir dos comentários dos posts, para então colocar em um aplicativo desktop que fazia o sorteio.

Com o sorteios web você pode gerenciar seus sorteios, criar um grupo, pois no caso dela são 2 pessoas que participam da autoria dos posts do blog, e deve ser o caso de muitos outros. E ao criar seus sorteios é disponibilizado um link para acoplar em seu blog ou site utilizando-se de iframes,  para wordpress há um plugin, o embed-iframe, ou então pode apenas disponibilizar o link para acessar através do site do Sorteios Web mesmo. Os sorteios são automáticos, no dia e hora de término que o criador estipular, e ele só vale a partir da data de início estipulada também.

Esse foi um overview, ainda está em beta, portanto bugs podem ocorrer, qualquer coisa é só entrar em contato com sorteiosweb@gmail.com .

É de graça, e pretendo manter assim pra sempre, pois sou a favor da política do google, de dispobilizar aplicações gratuitas ao público em geral!