2016-04-15 15 views
0

これはログインアクティビティです。ここで彼の詳細を入力するよう促され、データはfirebaseデータベースに送られます。オブジェクトの別個のインスタンスを作成してFirebaseデータベースにデータを保存する

public class LoginActivity extends AppCompatActivity { 

    private EditText ET_fname; 
    private EditText ET_lname; 
    private EditText ET_NIC; 
    private EditText ET_email; 
    private EditText ET_mobile; 
    private Button signup_button; 
    private Firebase mRef; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     Firebase.setAndroidContext(this); 

     signup_button = (Button) findViewById(R.id.signup_button); 
     ET_fname = (EditText) findViewById(R.id.ET_fname); 
     ET_lname = (EditText) findViewById(R.id.ET_lname); 
     ET_NIC = (EditText) findViewById(R.id.ET_NIC); 
     ET_email = (EditText) findViewById(R.id.ET_email); 
     ET_mobile = (EditText) findViewById(R.id.ET_mobile); 


     //Click Listener for button 
     signup_button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //Creating firebase object 
       Firebase ref = new Firebase("https://<database name>.firebaseio.com"); 

       //Getting values to store 
       String firstname = ET_fname.getText().toString().trim(); 
       String lastname = ET_lname.getText().toString().trim(); 
       String NIC = ET_NIC.getText().toString().trim(); 
       String email = ET_email.getText().toString().trim(); 
       String mobile = ET_mobile.getText().toString().trim(); 

       //Creating Person object 
       User user = new User(firstname, lastname, NIC, email, mobile); 

       //Adding values 
       user.setFirstname(firstname); 
       user.setLastname(lastname); 
       user.setNIC(NIC); 
       user.setEmail(email); 
       user.setMobile(mobile); 

       //Storing values to firebase 
       //ref.child("User").setValue(user); 
       ref.child("Users").child("User").setValue(user); 
      } 
     });private EditText ET_fname; 
    private EditText ET_lname; 
    private EditText ET_NIC; 
    private EditText ET_email; 
    private EditText ET_mobile; 
    private Button signup_button; 
    private Firebase mRef; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     Firebase.setAndroidContext(this); 

     signup_button = (Button) findViewById(R.id.signup_button); 
     ET_fname = (EditText) findViewById(R.id.ET_fname); 
     ET_lname = (EditText) findViewById(R.id.ET_lname); 
     ET_NIC = (EditText) findViewById(R.id.ET_NIC); 
     ET_email = (EditText) findViewById(R.id.ET_email); 
     ET_mobile = (EditText) findViewById(R.id.ET_mobile); 


     //Click Listener for button 
     signup_button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //Creating firebase object 
       Firebase ref = new Firebase("https://<database name>.firebaseio.com"); 

       //Getting values to store 
       String firstname = ET_fname.getText().toString().trim(); 
       String lastname = ET_lname.getText().toString().trim(); 
       String NIC = ET_NIC.getText().toString().trim(); 
       String email = ET_email.getText().toString().trim(); 
       String mobile = ET_mobile.getText().toString().trim(); 

       //Creating Person object 
       User user = new User(firstname, lastname, NIC, email, mobile); 

       //Adding values 
       user.setFirstname(firstname); 
       user.setLastname(lastname); 
       user.setNIC(NIC); 
       user.setEmail(email); 
       user.setMobile(mobile); 

       //Storing values to firebase 
       //ref.child("User").setValue(user); 
       ref.child("Users").child("User").setValue(user); 
      } 
     }); 

これは、ログイン・アクティビティーがFirebaseデータベースにテキストフィールドにデータを送信するために使用された私のユーザークラス

public class User { 
    private String firstname; 
    private String lastname; 
    private String NIC; 
    private String email; 
    private String mobile; 



     public User(String firstname, String lastname, String NIC, String email, String mobile) { 
     this.firstname = firstname; 
     this.lastname = lastname; 
     this.NIC = NIC; 
     this.email = email; 
     this.mobile = mobile; 

    }public String getFirstname() { 
     return firstname; 
    } 

    public void setFirstname(String firstname) { 
     this.firstname = firstname; 
    } 

    public String getLastname() { 
     return lastname; 
    } 

    public void setLastname(String lastname) { 
     this.lastname = lastname; 
    } 

    public String getNIC() { 
     return NIC; 
    } 

    public void setNIC(String nic) { 
     this.NIC = nic; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getMobile() { 
     return mobile; 
    } 

    public void setMobile(String mobile) { 
     this.mobile = mobile; 
    } 
} 

です。そして、私がアプリを実行するたびに、それは作成されたユーザーインスタンスを置き換えます。

数字を自動生成するなどして、ユーザーごとに個別のインスタンスを作成したいと考えています。どのようにこれを行う上の任意のアイデア? - 私の推薦

Firebase作成したすべてのユーザーのためのuidを生成authentication serviceを提供しています

1. FIREBASE認証:

答えて

1

あなたはこのスニペットを持つユーザーを追加している。これにより

//Creating Person object 
User user = new User(firstname, lastname, NIC, email, mobile); 

//Storing values to firebase 
ref.child("Users").child("User").setValue(user); 

あなたはこの場所/Users/Userにデータを設定します。

//Storing values to firebase 
ref.child("Users").child("User").push().setValue(user); 

これは複雑に見えるキーを作成しますが、プッシュIDと呼ばれる:あなたはその場所の下に新しいユニークな子に​​データを追加したい場合は、Firebase push()メソッドを使用します。 @NishantRoyが答えで使用するUUIDと同様の特性を持っていますが、時間順に追加されているという利点があります。

これはSaving Lists Of Data section of the Firebase documentationに記載されています。多くの一般的な質問に答えられるようになる前に、そのドキュメンテーションで時間を過ごすことを強くお勧めします。

0

は、あなたがこのことについて行くことができる2つの方法があります。

このuidをキーとして使用して、ユーザーデータを格納したり、ユーザー認証をアプリケーションに追加したりすることができます。

2. JavaのUUIDメソッド

アプリ内で独自のIDを作成したいならば、あなたはjava.util.UUID.randomUUID()メソッドを使用することができます。 TutorialsPointから

例:

import java.util.*; 

public class UUIDDemo { 
    public static void main(String[] args) { 
    // creating UUID  
    UUID uid = UUID.fromString("38400000-8cf0-11bd-b23e-10b96e4ef00d");  

    // checking the value of random UUID 
    System.out.println("Random UUID value: "+uid.randomUUID());  
    }  
} 

プリントアウト:コンセンサスはオンライン衝突が、この方法では非常に低いということのようです

Random UUID value: 046b6c7f-0b8a-43b9-b35d-6489e6daee91

、しかし、チャンスはまだあります、だからFirebaseのuidを使うことをお勧めします。

関連する問題