2016-11-03 9 views
0

このデータを取得してアクティビティに表示するのに問題があります。 DAOに電話してこのデータを渡すことはできますか?いくつかのEDITTEXTのsqliteテーブルからデータをロードする方法

この問題を解決するためにこれまで使用されていたクラスのすべてのトレース。

クラスモデル

@DatabaseTable(tableName = "pessoa") 
public class Pessoa implements EntidadePersitivel { 
    @DatabaseField(generatedId = true) 
    private int id; 
    @DatabaseField 
    private int codigo; 
    @DatabaseField 
    private String nome; 
    @DatabaseField 
    private String cnpjCpf; 


    public void setUf(String uf) { 
     this.uf = uf; 
    } 

    @DatabaseField 
    private String rgIE; 
    @DatabaseField 
    private String cep; 
    @DatabaseField 
    private String uf; 
    @DatabaseField 
    private String cidade; 
    @DatabaseField 
    private String bairro; 
    @DatabaseField 
    private String endereco; 
    @DatabaseField 
    private String numero; 
    @DatabaseField 
    private String complemento; 
    @DatabaseField 
    private String foneComercial; 
    @DatabaseField 
    private String foneResidencial; 
    @DatabaseField 
    private String foneCelular; 
    @DatabaseField 
    private String email; 


    public Pessoa(int id, int codigo, String nome, String cnpjCpf, String rgIE, 
        String cep, String cidade, String bairro, String endereco, 
        String numero, String complemento, String foneComercial, String foneResidencial, String foneCelular, String email) { 
     this.id = id; 
     this.codigo = codigo; 
     this.nome = nome; 
     this.cnpjCpf = cnpjCpf; 
     this.rgIE = rgIE; 
     this.cep = cep; 

     this.cidade = cidade; 
     this.bairro = bairro; 
     this.endereco = endereco; 
     this.numero = numero; 
     this.complemento = complemento; 
     this.foneComercial = foneComercial; 
     this.foneResidencial = foneResidencial; 
     this.foneCelular = foneCelular; 
     this.email = email; 
    } 

    public Pessoa() { 

    } 

クラスDAO

*/ 

public class PessoaDao extends BaseDaoImpl<Pessoa, Integer> { 
    public PessoaDao(ConnectionSource connectionSource) throws SQLException { 
     super(Pessoa.class); 
     setConnectionSource(connectionSource); 
     initialize(); 


    } 

} 

クラスdataBaseHelper

public class DatabaseHelper extends OrmLiteSqliteOpenHelper { 

    private static final String dataBaseName= "central"; 
    private static final int version =1; 

    public DatabaseHelper(Context context) { 
     super(context, dataBaseName, null, version); 
    } 


    @Override 
    public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) { 

     try { 
      TableUtils.createTable(connectionSource,LoginSeralizable.class); 
      TableUtils.createTable(connectionSource, Pessoa.class); 
     } catch (java.sql.SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int oldVersion, int newVersion) { 
     try { 
      TableUtils.dropTable(connectionSource, LoginSeralizable.class,true); 
      TableUtils.dropTable(connectionSource, Pessoa.class, true); 

      onCreate(sqLiteDatabase, connectionSource); 
     } catch (java.sql.SQLException e) { 
      e.printStackTrace(); 
     } 

    } 

    @Override 
    public void close(){ 
     super.close(); 
    } 
} 

エラーログ

致命的な例外:スレッド284

                  Process: routerbox.com.br.centraisdoassinante, PID: 25202 
                      java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object routerbox.com.br.centraisdoassinante.routerbox.com.br.centraisdoassinante.Dao.PessoaDao.queryForId(java.lang.Object)' on a null object reference 
                       at routerbox.com.br.centraisdoassinante.DadosCadastrais$1.run(DadosCadastrais.java:49) 
                       at java.lang.Thread.run(Thread.java:818) 
+0

あなたがしたことを私たちに教えてください。 – chiru

+0

@chiru、私は彼が何をしたのかを付け加えました。 –

+0

あなたはどんな例外を受けていますか?はいの場合は、その例外を追加してください – Sanjeet

答えて

0

私はルーカスが話さていたように、私は接続を参照して

protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_dados_cadastrais); 
      databaseHelper = new DatabaseHelper(DadosCadastrais.this); 

      new Thread(new Runnable() { 
       @Override 
       public void run() { 

        try { 
         pessoaDao = new PessoaDao(databaseHelper.getConnectionSource()); 
         pessoa= pessoaDao.queryForId(1); 
         edtNome= (EditText) findViewById(R.id.edtNome); 
         edtNome.setText(pessoa.getNome()); 

        } catch (SQLException e) { 
         e.printStackTrace(); 
        } 


       } 
      }).start(); 



    } 
を管理します
1

のjava.lang.NullPointerException:仮想メソッド「java.lang.Objectのrouterbox.com.br.centraisdoassinante.routerbox.com.br.centraisdoassinante.Dao.PessoaDao.queryForId(javaの起動を試みます。 lang.Object) 'をヌルオブジェクトリファレンスで使用する

nullオブジェクトにメソッドqueryForIdを実行しようとしていますが、これはどういう意味ですか?

PessoaDaoはstaticではないクラスなので、メソッドを使用する前にインスタンス化する必要があります。

だから、あなたは、この関数を呼び出すコードの一部を削除したが、私は右覚えていれば、あなたはそのようなことがあります。

PessoaDao.queryForId('1');

をしかし、あなたは何をする必要があります。

PessoaDao pessoaDao = new PessoaDao(yourConnectionSource); 
pessoaDao.queryForId('1'); 

Btw、私はPessoaポルトガル語の権利ですか?たぶん、あなたは、Stack Overflow in portugueseで私はより良いあなたに答えることができ、このように依頼することができ、あなたが対処する必要はありません私の悪い英語:)

+0

はい、português。 –

+0

Stack Overflowコミュニティはどの言語でも非常に助かりますが、通常はあなたの質問を投稿する方がはるかです。 –

+0

よろしくお願いします。 –

関連する問題