Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Lista não apresentada

Olá pessoal, veja se conseguem me ajudar, a lista não exibe a lista que foi criada, cheguei a passar por alguns erros, mas agora travei aqui, cheguei a fechar e abrir o emulador, mesmo assim não funciona. Eu conferi várias vezes as váriáveis, nome de class, e diversos Aluno e alunos....mas não achei o erro. Abaixo coloquei o ListaAlunoActivity.java , e do AlunoDAO.java., o meu projeto também está no github https://github.com/souzavhi1/Agenda.git

package com.example.victor.agenda;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;

import com.example.victor.agenda.dao.AlunoDAO;
import com.example.victor.agenda.modelo.Aluno;

import java.util.List;

public class ListaAlunoActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_lista_aluno );

        AlunoDAO dao = new AlunoDAO( this );
        List<Aluno> alunos = dao.buscaAlunos();
        dao.close();

//        String[] alunos ={"Daniel","Ronaldo","Jeferson","Felipe","Daniel","Ronaldo","Jeferson","Felipe","Daniel","Ronaldo","Jeferson","Felipe","Daniel","Ronaldo","Jeferson","Felipe"};
        ListView listaAlunos = (ListView) findViewById( R.id.lista_alunos );
        ArrayAdapter<Aluno> adapter = new ArrayAdapter<Aluno>( this,android.R.layout.simple_list_item_1,alunos );
        listaAlunos.setAdapter( adapter );

        Button novoAluno = (Button) findViewById( R.id.novo_aluno );
        novoAluno.setOnClickListener( new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentVaiProFormulario = new Intent( ListaAlunoActivity.this, FormularioActivity.class );
                startActivity( intentVaiProFormulario );
            }
        } );

    }
}
package com.example.victor.agenda.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.victor.agenda.modelo.Aluno;

import java.util.ArrayList;
import java.util.List;

public class AlunoDAO extends SQLiteOpenHelper {


    public AlunoDAO (Context context){
            super(context,"Agenda",null,1);
}
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE Alunos(id INTEGER PRIMARY KEY, nome TEXT NOT NULL, endereco TEXT, telefone TEXT, site TEXT, nota REAL);";
        db.execSQL( sql );


    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "DROP TABLE IF EXISTS Alunos";
        db.execSQL( sql );
        onCreate( db );


    }

    public void Insere(Aluno aluno) {
        SQLiteDatabase db = getWritableDatabase();

        ContentValues dados = new ContentValues();
        dados.put("nome",aluno.getNome());
        dados.put( "endereco",aluno.getEndereco() );
        dados.put( "fone",aluno.getFone() );
        dados.put( "site", aluno.getSite() );
        dados.put( "note",aluno.getNota() );

        db.insert( "Alunos", null, dados );


    }

    public List<Aluno> buscaAlunos() {
        String sql = "SELECT * FROM Alunos;";
        SQLiteDatabase db = getReadableDatabase();
        Cursor c = db.rawQuery( sql, null );

        List<Aluno> alunos = new ArrayList<Aluno>( );

        while (c.moveToNext()){
            Aluno aluno = new Aluno();
            aluno.setId( c.getLong( c.getColumnIndex( "id" ) ));
            aluno.setNome( c.getString( c.getColumnIndex( "nome" ) ));
            aluno.setEndereco( c.getString( c.getColumnIndex( "endereco" ) ));
            aluno.setFone( c.getString( c.getColumnIndex( "fone" ) ));
            aluno.setSite( c.getString( c.getColumnIndex( "site" ) ));
            aluno.setNota( c.getDouble( c.getColumnIndex( "nota" ) ));

            alunos.add( aluno );
        }
        c.close();


        return alunos;
    }
}
3 respostas

onde está mais atualizado? pois aqui está diferente do que está no git

No codigo do git você está somente instanciando o helper, falta você carregá-lo com os dados do aluno usando uma Intent

public class FormularioActivity extends AppCompatActivity {

    private FormularioHelper helper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_formulario);

        helper = new FormularioHelper(this);

        Intent intent = getIntent();
        Aluno aluno = (Aluno) intent.getSerializableExtra("aluno");

        if(aluno != null){
            helper.preencheFormulario(aluno);

        }
solução!

Olá Eron, obrigado pela ajuda, mas o erro não era esse e sim, aqui

public void Insere(Aluno aluno) {
        SQLiteDatabase db = getWritableDatabase();

        ContentValues dados = new ContentValues();
        dados.put("nome",aluno.getNome());
        dados.put( "endereco",aluno.getEndereco() );
        dados.put( "fone",aluno.getFone() );
        dados.put( "site", aluno.getSite() );
        dados.put( "note",aluno.getNota() );

        db.insert( "Alunos", null, dados );


    }

no campo telefone eu coloquei apenas fone porém a coluna correta era telefone, e isso fazia não salvar corretamente.