2017-11-01 19 views
0

私はプロジェクトのサインインを作成しようとしています。私がサインインしようとすると、そのことがわかります com.google.firebase.database.DatabaseException:java.lang.String型の値をlong型に変換できませんでした。私は私Firebaseがjava.lang.String型の値をlong型に変換できませんでした

ために、そのは大丈夫のようだコードとすべてを頬なぜ私はこれが私のメインクラス

package com.example.median1.demo; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.ProgressBar; 
import android.app.ProgressDialog; 
import android.widget.Toast; 

import com.google.firebase.database.DataSnapshot; 
import com.google.firebase.database.DatabaseError; 
import com.google.firebase.database.DatabaseReference; 
import com.google.firebase.database.FirebaseDatabase; 
import com.google.firebase.database.ValueEventListener; 

public class SignIn extends AppCompatActivity { 
    EditText edtphone,edtPassword; 
    Button btnSignIn; 

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

     edtPassword=(EditText)findViewById(R.id.edtPassword); 
     edtphone=(EditText)findViewById(R.id.edtPhone); 
     btnSignIn=(Button)findViewById(R.id.btnSignIn); 


     FirebaseDatabase database=FirebaseDatabase.getInstance(); 
     final DatabaseReference table_user=database.getReference("user"); 

     btnSignIn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 


       final ProgressDialog mdialog=new ProgressDialog(SignIn.this); 
       mdialog.setMessage("please wait...."); 
       mdialog.show(); 

       table_user.addValueEventListener(new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 

          //check if user dose not exist 
         if(dataSnapshot.child(edtphone.getText().toString()).exists()) { 
          //get user information 

          mdialog.dismiss(); 


          user user1 = dataSnapshot.child(edtphone.getText().toString()).getValue(user.class); 


          if (user1.getPassword().equals(edtPassword.getText().toString())) { 


           Toast.makeText(SignIn.this, "sign in successfully", Toast.LENGTH_SHORT).show(); 
          } else { 

           Toast.makeText(SignIn.this, "sign in is failed", Toast.LENGTH_SHORT).show(); 


          } 
         } 
         else { 
          Toast.makeText(SignIn.this, "user dose not exist in Database", Toast.LENGTH_SHORT).show(); 

         } 
        } 

        @Override 
        public void onCancelled(DatabaseError databaseError) { 

        } 
       }); 
      } 
     }); 
    } 

} 

あるかわからない、これは私がfirebase

から文字列を取得するクラスですfirebaseデータで
package com.example.median1.demo; 

/** 
* Created by median1 on 10/31/2017. 
*/ 

public class user { 
    private String Name; 
    private String Password; 

    public user() { 
    } 

    public user(String name, String password) { 
     Name = name; 
     Password = password; 
    } 

    public String getName() { 
     return Name; 
    } 

    public void setName(String name) { 
     Name = name; 
    } 

    public String getPassword() { 
     return Password; 
    } 

    public void setPassword(String password) { 
     Password = password; 
    } 
} 

enter image description here

+0

ログでは、どの行でこの原因が考えられますか? –

+0

データベース構造を共有してください。 –

+0

ええ、確かに私はちょうどそれが問題にはなりませんが、数字があった場合、アプリケーションがこのエラーを取得する場合、パスワードが失敗したと言いたい –

答えて

0

1子は、String型パスワード( "ALA")を持っており、一つはロング(234)があります。 ストリングを作ってください。

関連する問題