O fantástico mundo de Android

Post on 06-May-2015

2.016 views 1 download

Transcript of O fantástico mundo de Android

O fantástico mundo de Android

Suelen G. Carvalho

Quem sou eu

www.SuelenGC.com.br | slideshare.net/suelengc

MULHERES15!!

!Cupom especial para o dia das mulheres!!

15% de desconto

O que é o Android ?

Linguagem IDE ADT

www.developer.android.com

Activity

Criar uma tela

Activity

SuaActivity

public class SuaActivity extends Activity { protected void onCreate (Bundle b) { super.onCreate(b); setContentView(R.layout.main_activity) ! // restante do seu código aqui… } }

<LinearLayout xmlns=“…” > <TextView android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:text=“Olá Mundo!” … /> </LinearLayout>

SuaActivity.java

main_activity.xml

(comportamento)

(view)

Olá Mundo!

ProjetoAgenda! src SuaActivity.java res layout main_activity.xml   drawable-mdpi! icon.jpg drawable-ldpi! icon.jpg   values!! ! strings.xml

comportamento

resources

view

Estrutura de diretórios

Outras view's

Nome:

Telefone:

Salvar

<EditText…/><TextView…/>

<Button…/>

Nota:

<RatingBar…/>

<LinearLayout xmlns=“…” > <EditText android:text=“Nome: “…/> <TextView…/> !

<EditText android:text=“Telefone: “…/> <TextView…/> !

<EditText android:text=“Nota: “…/> <RatingBar…/> !

<Button android:text=“Salvar“ android:id=“@+id/btn_salvar“…/> <!-- cotinua… --> </LinearLayout>

public class SuaActivity extends Activity { protected void onCreate (Bundle b) { super.onCreate(b); setContentView(R.layout.main_activity) ! // Recupera o botão da tela Button salvar = (Button) findViewById(R.id.btn_salvar); ! //Adiciona comportamento ao botão salvar.setOnClickListener(new OnClickListener() { public void onClick(View view) { // COMPORTAMENTO AQUI… } }); } }

Comportamento ao botão

Ciclo de Vida da Activity

onCreate !

onStart !

onResume

onPause !

onStop !

onDestroy

Android KillonRestart

Ciclo de vida de uma Activity

Listas e Adapter's

Fulano

Ciclano

Beltrano

Exibir uma lista

Fulano Beltrano Ciclano

Objetos (Java)View (xml)

0 1 2

Fulano

Ciclano

Beltrano

Adapter

public class SuaActivity extends Activity { protected void onCreate (Bundle b) { // código anterior… ! // Objetos Java String[] contatos = new String[]{“Fulano”, “Beltrano”, “Ciclano”}; ! // Adapter (java -> xml) ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.simple_list_item_1, contatos); ! // Vincular adapter a lista ListView lista = (ListView) findViewById(R.id.lista); lista.setAdapter(adapter); } }

Banco de Dados

SQLiteOpenHelper

ContatoDAO

Criar um DAO

public class ContatoDAO extends SQLiteOpenHelper { public void ContatoDAO(Context ctx) { super(ctx, “agenda", null, 1); } public void onCreate (SQLiteDataBase db) { String ddl = “create table contato (name text, telefone text);“; db.execSQL(ddl); } ! public void onUpgrade (SQLiteDataBase db) { // vamos deixar vazio por enquanto } }

SQLiteOpenHelper

public class ContatoDAO extends SQLiteOpenHelper { // código anterior… ! public void adiciona(Contato contato){ // insere contato no banco… ContentValues values = new ContentValues(); values(“nome”, contato.getNome()); values(“telefone”, contato.getTelefone()); ! getWritableDatabase().insert(“agenda”, null, values); } // apagar, atualizar e buscar aqui em breve ;) }

Incluindo um contato

public class ContatoDAO extends SQLiteOpenHelper { ! public void apaga(Contato contato){ String[] ids = {contato.getId().toString()}; getWritableDatabase().delete(“agenda”, “id=?”, ids); } !}

Apagando um contato

public class ContatoDAO extends SQLiteOpenHelper { ! public List<Contato> busca(Contato contato){ List<Contato> contatos = new ArrayList<Contato>(); ! SQLiteDatabase database = getReadableDatabase(); Cursor cursor = database.rawQuery(“select * from agenda;”, null); ! while (cursor.moveToNext()) { Contato contato = criarContatoDo(cursor); contatos.add(contato); } return contatos; } }

Buscando os contatos

public class ContatoDAO extends SQLiteOpenHelper { public void atualiza(Contato contato){ ContentValues values = new ContentValues(); values(“nome”, contato.getNome()); values(“telefone”, contato.getTelefone()); String[] ids = {contato.getId().toString()}; ! getWritableDatabase().update(“agenda”, values, id, ids); } }

Atualizando um contato

Estou por aí se precisarem ;)