domingo, 9 de junho de 2013

Prova Manuscrita de Android

É madrugada que antecede a prova de Android e como exercício de fixação além de reescrever os métodos em manuscrito como será na prova, irei compartilhar aqui no blog alguns métodos que acredito fortemente que cairão na prova.

Na prova provavelmente teremos que criar um CRUD como este:

    private void Cadastrar(){
    etNome = (EditText)findViewById(R.id.etNome);
    etLogin = (EditText)findViewById(R.id.etLogin);
    etSenha = (EditText)findViewById(R.id.etSenha);
       
    ContentValues cv = new ContentValues();
    cv.put("nome", etNome.getText().toString());
    cv.put("login", etLogin.getText().toString());
    cv.put("senha", etSenha.getText().toString());
   
    banco = new Banco(new BancoUsuarios(this));
   
    banco.open();
    long l = banco.get().insert("usuarios", null, cv);
   
    if(l > 0){
    Toast.makeText(this, "id insert : " + l,Toast.LENGTH_LONG).show();
    Log.i(TAG_LOG, "id insert : " + l);
    }else{
    Log.e(TAG_LOG, "Erro ao inserir usuário");
    }
   
    banco.close();
    }
   
    private void Alterar(){
    etID = (EditText)findViewById(R.id.etID);
    etNome = (EditText)findViewById(R.id.etNome);
    etLogin = (EditText)findViewById(R.id.etLogin);
    etSenha = (EditText)findViewById(R.id.etSenha);
       
    ContentValues cv = new ContentValues();
    cv.put("nome", etNome.getText().toString());
    cv.put("login", etLogin.getText().toString());
    cv.put("senha", etSenha.getText().toString());
   
    String id = etID.getText().toString();
   
    banco = new Banco(new BancoUsuarios(this));
    banco.open();
    long l = banco.get().update("usuarios", cv,
    "_id==?", new String[]{id});
   
    banco.close();
   
    if(l > 0){
    Log.i(TAG_LOG, "usuário alterado : " + l);
    }else{
    Log.e(TAG_LOG, "Erro ao alterar usuário");
    }
    }
   
    private void Excluir(){
    etID = (EditText)findViewById(R.id.etID);        
    String id = etID.getText().toString();
   
    banco = new Banco(new BancoUsuarios(this));
    banco.open();
    long l = banco.get().delete("usuarios", "_id==?",
    new String[]{id});
   
    banco.close();
   
    if(l > 0){
    Log.i(TAG_LOG, "usuário excluido : " + l);
    }else{
    Log.e(TAG_LOG, "Erro ao excluir usuário");
    }
    }
   
    private void Mostrar(String id){
    banco = new Banco(new BancoUsuarios(this));
    banco.open();
 
    Cursor cursor;
cursor = banco.get().rawQuery("select * from usuarios where _id==?", new String[]{id});

    while(cursor.moveToNext()){
    etID = (EditText)findViewById(R.id.etID);
    etNome = (EditText)findViewById(R.id.etNome);
    etLogin = (EditText)findViewById(R.id.etLogin);
       etSenha = (EditText)findViewById(R.id.etSenha);
       
       etID.setText(cursor.getString(cursor.getColumnIndex("_id")));
       etNome.setText(cursor.getString(cursor.getColumnIndex("nome")));
       etLogin.setText(cursor.getString(cursor.getColumnIndex("login")));
       etSenha.setText(cursor.getString(cursor.getColumnIndex("senha")));    
    }
    cursor.close();
    banco.close();
    }

Implementar um método que carregue itens em um list view:

public void CarregaItens(){
    Banco db = new Banco(new BancoUsuarios(this));
    String[] campos = {"_id", "nome", "login"};
    Cursor cursor = db.CarregaCursor("usuarios", campos);
   
    if(cursor.getCount() > 0){
    int[] ids = {R.id.tvId, R.id.tvNome, R.id.tvLogin};
    dataSource = new SimpleCursorAdapter(this, R.layout.linha, cursor, campos, ids);
    this.setListAdapter(dataSource);
    lvInformacoes = getListView();
    lvInformacoes.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
   
    }
    }

Carregar um cursor e carregar itens em um cursor:

public Cursor CarregaCursor(String nomeTabela, String[]campos){
SQLiteDatabase db = bancoManager.getReadableDatabase();

Cursor cursor = db.query(nomeTabela, campos, null, null, null, null, null);

return cursor;
}

public List CarregaItens(String sSQL, String[] argumentos){
List labels = new ArrayList();

SQLiteDatabase db = bancoManager.getReadableDatabase();

Cursor cursor = db.rawQuery(sSQL, argumentos);

if(cursor.moveToFirst()){
do{
labels.add(cursor.getString(1));
}while(cursor.moveToNext());
}
cursor.close();
db.close();
return labels;

}

E certamente também teremos que criar algum layout parecido com este:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

            android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ID:"
    />

            android:id="@+id/etID"
        android:layout_width="120dp"
        android:layout_height="wrap_content">
   


            android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nome:"
    />

            android:id="@+id/etNome"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
    />

            android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Login:"
        android:textAppearance="?android:attr/textAppearanceMedium" />

            android:id="@+id/etLogin"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />

            android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Senha:"
        android:textAppearance="?android:attr/textAppearanceMedium" />

            android:id="@+id/etSenha"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPassword" />

            android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

       

   
             android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

       






Nenhum comentário:

Postar um comentário