setEmail(java.lang.String)' 在空对象引用上
setEmail(java.lang.String)' on a null object reference
谁能帮我改正这个错误,先谢谢了。我一直在尝试纠正一段时间,但我的尝试没有成功。
我在注册时没有看到代码中的错误它运行良好,它被重定向到主activity但是当我出去尝试登录时,发生了下面描述的这个错误。
欢迎任何帮助。
我收到此错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void myapp.COM.model.Usuario.setEmail(java.lang.String)' on a null object reference
at myapp.COM.activity.LoginActivity.onClick(LoginActivity.java:54)
登录码:
//Fazer login do usuario
progressBar.setVisibility( View.GONE );
botaoEntrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String textoEmail = campoEmail.getText().toString();
String textosenha = campoSenha.getText().toString();
if( !textoEmail.isEmpty() ){
if( !textosenha.isEmpty() ){
usuario.setEmail( textoEmail );
usuario.setSenha( textosenha );
validarLogin( usuario );
}else{
Toast.makeText(LoginActivity.this,
"Preencha a senha!",
Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LoginActivity.this,
"Preencha o e-mail!",
Toast.LENGTH_SHORT).show();
}
}
});
模型 Usuario
public class Usuario implements Serializable {
private String id;
private String nome;
private String email;
private String senha;
private String caminhoFoto;
private int seguidores = 0;
private int seguindo = 0;
private int postagens = 0;
private String money;
private String cassinotime;
private String cassinoprofit;
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public String getCassinotime() {
return cassinotime;
}
public void setCassinotime(String cassinotime) {
this.cassinotime = cassinotime;
}
public String getCassinoprofit() {
return cassinoprofit;
}
public void setCassinoprofit(String cassinoprofit) {
this.cassinoprofit = cassinoprofit;
}
public Usuario() {
}
public void salvar(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
DatabaseReference usuariosRef = firebaseRef.child("usuarios").child( getId() );
usuariosRef.setValue( this );
}
public void atualizarQtdPostagem(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
DatabaseReference usuariosRef = firebaseRef
.child("usuarios")
.child( getId() );
HashMap<String, Object> dados = new HashMap<>();
dados.put("postagens", getPostagens() );
usuariosRef.updateChildren( dados );
}
public void atualizar(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
Map objeto = new HashMap();
objeto.put("/usuarios/" + getId() + "/nome", getNome() );
objeto.put("/usuarios/" + getId() + "/caminhoFoto", getCaminhoFoto() );
firebaseRef.updateChildren( objeto );
}
public Map<String, Object> converterParaMap(){
HashMap<String, Object> usuarioMap = new HashMap<>();
usuarioMap.put("email", getEmail() );
usuarioMap.put("nome", getNome() );
usuarioMap.put("id", getId() );
usuarioMap.put("caminhoFoto", getCaminhoFoto() );
usuarioMap.put("seguidores", getSeguidores() );
usuarioMap.put("seguindo", getSeguindo() );
usuarioMap.put("postagens", getPostagens() );
return usuarioMap;
}
public int getSeguidores() {
return seguidores;
}
public void setSeguidores(int seguidores) {
this.seguidores = seguidores;
}
public int getSeguindo() {
return seguindo;
}
public void setSeguindo(int seguindo) {
this.seguindo = seguindo;
}
public int getPostagens() {
return postagens;
}
public void setPostagens(int postagens) {
this.postagens = postagens;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome.toUpperCase();
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Exclude
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getCaminhoFoto() {
return caminhoFoto;
}
public void setCaminhoFoto(String caminhoFoto) {
this.caminhoFoto = caminhoFoto;
}
}
您需要先创建Usuario
class 的对象,然后才能将attributes
设置为Usuario
的对象。
请尝试以下:
botaoEntrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Usuario usuario = new Usuario();
String textoEmail = campoEmail.getText().toString();
String textosenha = campoSenha.getText().toString();
if( !textoEmail.isEmpty() ){
if( !textosenha.isEmpty() ){
usuario.setEmail( textoEmail );
usuario.setSenha( textosenha );
validarLogin( usuario );
}else{
Toast.makeText(LoginActivity.this,
"Preencha a senha!",
Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LoginActivity.this,
"Preencha o e-mail!",
Toast.LENGTH_SHORT).show();
}
}
});
谁能帮我改正这个错误,先谢谢了。我一直在尝试纠正一段时间,但我的尝试没有成功。
我在注册时没有看到代码中的错误它运行良好,它被重定向到主activity但是当我出去尝试登录时,发生了下面描述的这个错误。
欢迎任何帮助。 我收到此错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void myapp.COM.model.Usuario.setEmail(java.lang.String)' on a null object reference
at myapp.COM.activity.LoginActivity.onClick(LoginActivity.java:54)
登录码:
//Fazer login do usuario
progressBar.setVisibility( View.GONE );
botaoEntrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String textoEmail = campoEmail.getText().toString();
String textosenha = campoSenha.getText().toString();
if( !textoEmail.isEmpty() ){
if( !textosenha.isEmpty() ){
usuario.setEmail( textoEmail );
usuario.setSenha( textosenha );
validarLogin( usuario );
}else{
Toast.makeText(LoginActivity.this,
"Preencha a senha!",
Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LoginActivity.this,
"Preencha o e-mail!",
Toast.LENGTH_SHORT).show();
}
}
});
模型 Usuario
public class Usuario implements Serializable {
private String id;
private String nome;
private String email;
private String senha;
private String caminhoFoto;
private int seguidores = 0;
private int seguindo = 0;
private int postagens = 0;
private String money;
private String cassinotime;
private String cassinoprofit;
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public String getCassinotime() {
return cassinotime;
}
public void setCassinotime(String cassinotime) {
this.cassinotime = cassinotime;
}
public String getCassinoprofit() {
return cassinoprofit;
}
public void setCassinoprofit(String cassinoprofit) {
this.cassinoprofit = cassinoprofit;
}
public Usuario() {
}
public void salvar(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
DatabaseReference usuariosRef = firebaseRef.child("usuarios").child( getId() );
usuariosRef.setValue( this );
}
public void atualizarQtdPostagem(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
DatabaseReference usuariosRef = firebaseRef
.child("usuarios")
.child( getId() );
HashMap<String, Object> dados = new HashMap<>();
dados.put("postagens", getPostagens() );
usuariosRef.updateChildren( dados );
}
public void atualizar(){
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
Map objeto = new HashMap();
objeto.put("/usuarios/" + getId() + "/nome", getNome() );
objeto.put("/usuarios/" + getId() + "/caminhoFoto", getCaminhoFoto() );
firebaseRef.updateChildren( objeto );
}
public Map<String, Object> converterParaMap(){
HashMap<String, Object> usuarioMap = new HashMap<>();
usuarioMap.put("email", getEmail() );
usuarioMap.put("nome", getNome() );
usuarioMap.put("id", getId() );
usuarioMap.put("caminhoFoto", getCaminhoFoto() );
usuarioMap.put("seguidores", getSeguidores() );
usuarioMap.put("seguindo", getSeguindo() );
usuarioMap.put("postagens", getPostagens() );
return usuarioMap;
}
public int getSeguidores() {
return seguidores;
}
public void setSeguidores(int seguidores) {
this.seguidores = seguidores;
}
public int getSeguindo() {
return seguindo;
}
public void setSeguindo(int seguindo) {
this.seguindo = seguindo;
}
public int getPostagens() {
return postagens;
}
public void setPostagens(int postagens) {
this.postagens = postagens;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome.toUpperCase();
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Exclude
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getCaminhoFoto() {
return caminhoFoto;
}
public void setCaminhoFoto(String caminhoFoto) {
this.caminhoFoto = caminhoFoto;
}
}
您需要先创建Usuario
class 的对象,然后才能将attributes
设置为Usuario
的对象。
请尝试以下:
botaoEntrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Usuario usuario = new Usuario();
String textoEmail = campoEmail.getText().toString();
String textosenha = campoSenha.getText().toString();
if( !textoEmail.isEmpty() ){
if( !textosenha.isEmpty() ){
usuario.setEmail( textoEmail );
usuario.setSenha( textosenha );
validarLogin( usuario );
}else{
Toast.makeText(LoginActivity.this,
"Preencha a senha!",
Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(LoginActivity.this,
"Preencha o e-mail!",
Toast.LENGTH_SHORT).show();
}
}
});