2017-12-25 14 views
2
final DatabaseReference ref = FirebaseDatabase.getInstance() 
      .getReferenceFromUrl("https://messageplus-cd647.firebaseio.com/"); 
    addData.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View view) 
     { 
      MyUser user; 
      LayoutInflater inflater = getLayoutInflater(); 
      View myView = inflater.inflate(R.layout.activity_main, null); 
      EditText userNumber = (EditText) findViewById(R.id.field_phone_number); 
      user = new MyUser(input_name.getText().toString(), input_email.getText().toString(), input_status.getText().toString(), input_quote.getText().toString()); 
      ref.child("Users").child(String.valueOf(userNumber)).setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 
        if (task.isSuccessful()) 
        { 
         //USER SAVED 
        } 
       } 
      }); 
     } 
    }); 

これは2番目のアクティビティのコードです。Usersという名前の子が作成されます。電話番号の別の子を作成する必要があります。この番号は、最初のアクティビティで提供されたユーザーのものでなければなりません。残りのデータは適切に追加されています。私は、前のクラスのユーザーが提供している電話番号を取得するのに問題があります。助けてください!おかげで事前にユーザーが提供するデータを次のアクティビティに渡す方法

+0

あなたは1からのデータを渡したいん他の人への活動ですか?またはあなたはデータベースから番号を取得できませんか? –

+0

プリミティブ型のキー値のペアを直接インテントに入れたり、クラスをパーセル化可能にしたり、意図内にパーセルブルを渡したりすることができます。 – Pomagranite

+0

最初のアクティビティから2番目のアクティビティにデータを渡したいとします。 –

答えて

2

イムつもりが、その後これを行うログインにサインアップしてから電話番号を取得するには、最初の活動はsign upのためであり、第二はloginのためであると仮定します。

//in SignupActivity 

String number=edittext.getText().toString(); 
Intent i = new Intent(SignupActivity.this, LoginActivity.class); 
i.putExtra("your_number",number); 
startActivity(i) 
finish(); 

number文字列がある電話番号が含まれています使用している他のアクティビティに渡さputExtra


//under onCreate() in LoginActivity 

Intent i = getIntent(); 
String s = i.getStringExtra("your_number"); 

s文字列には、LoginActivityに電話番号が含まれています。

この電話番号を使用してユーザーを認証できます。

getReferencefromUrlを使用して必要がないので、ちょうどこの行うことができます。

final DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("AllUser").push(); 
ref.child("phonenumber").setValue(s); 

をどちらか(上記のように)push()を使用するか、次の操作を行います。

FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser(); 
final DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("AllUser").child(user.getUid()); 
+0

Omg ..私のための神のようなおいしいウル。私は2日以来私の頭を壊してきた... Tysfm –

+0

問題はありません!がんばろう!! –

+0

http://ibb.co/iN4zH6 –

関連する問題