2017-09-24 9 views
1

firebaseを初めて使用しています。私はAndroidアプリで試しています。私のアプリでは、単に基本的なデータベースに名前を保存していますが、データが正常に保存されたことを示すメッセージが表示されますが、firebaseデータベースコンソールで見ると、ルートURLが表示されないことが示されます。また、読み取りと書き込みの両方のアクセス許可に対してFirebaseルールをtrueに設定しました。データがfirebaseデータベースコンソールに表示されない

POJOクラス::

以下の私のコードを見てください

package com.app.elaryx; 

public class Data { 

String name; 

public Data(){ 

} 

public Data(String name){ 

    this.name = name; 
} 

public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 
} 

JAVAコード:コードのすべてで

public class MainActivity extends AppCompatActivity { 

Button button; 
EditText name; 
DatabaseReference dRef; 

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

    dRef = FirebaseDatabase.getInstance().getReference(); 

    button = (Button)findViewById(R.id.button); 
    name = (EditText)findViewById(R.id.name); 

    button.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View view) { 

      button.setText("Saving..."); 

      if(name.getText().toString().equals("")) 
      { 
       button.setText("SUBMIT"); 
       Toast.makeText(getApplicationContext(), "Enter name", Toast.LENGTH_SHORT).show(); 
      } 
      else { 
       Data d = new Data(); 

       d.setName(name.getText().toString()); 

       dRef.push().setValue(d).addOnCompleteListener(new OnCompleteListener<Void>() { 
        @Override 
        public void onComplete(@NonNull Task<Void> task) { 

         if (task.isSuccessful()) { 

          button.setText("SUBMIT"); 
          Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show(); 
         } else { 

          button.setText("SUBMIT"); 
          Toast.makeText(getApplicationContext(), "" + task.getException().getMessage().toString(), Toast.LENGTH_SHORT).show(); 
         } 
        } 
       }); 

      } 
     } 
    }); 
    } 
} 

My Firebase console Image here

を私には罰金だ聞かせしなさい私は問題を知っている

答えて

0

あなたは非常にばかげたミスをしてしまったので、結果は得られません。モデルクラスで値を設定していますが、値を取得した時点で何もしていないからです。あなたはd.setName(name.getText().toString())罰金だが、あなたは、データを渡しているとき、これは、いくつかの値を必要とし、このためにあなたがd.getNameを(使用して結果を提供するためにきた値を設定するための

、マシンはしないだろうそれ。

あなたのコードでsetValueをこのようにすると、結果が得られるはずです。私たちはこのタイプの間違いを無視することもありますが、そうでなければあなたが苦しむことになるのは本当に重要です。

dRef.push().setValue(d.getName()).addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 

        if (task.isSuccessful()) { 

         button.setText("SUBMIT"); 
         Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show(); 
        } else { 

         button.setText("SUBMIT"); 
         Toast.makeText(getApplicationContext(), "" + task.getException().getMessage().toString(), Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 

あなたの間違いから学び、より良いものになります!ハッピーラーニング。これが役に立つと分かったら、この答えに右の目盛りを当てて、この回答を正しくマークしてください。

EDITS

この方法を試してみて、それが動作するかどうということを教えて!あなたのDatabaseReference内のすべての

まずこの

dRef = FirebaseDatabase.getInstance().getReference().child("Names"); 

のように初期化して、あなたのコード内で次のように行うのです:

Data d = new Data(); 

      d.setName(name.getText().toString()); 

      dRef.setValue(d.getValue()).addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 

        if (task.isSuccessful()) { 

         button.setText("SUBMIT"); 
         Toast.makeText(getApplicationContext(), "Data Saved", Toast.LENGTH_SHORT).show(); 
        } else { 

         button.setText("SUBMIT"); 
         Toast.makeText(getApplicationContext(), "" + task.getException().getMessage().toString(), Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 
+0

はい、私はそれを知っているが、それはここではアプリ内のデータを示すためのものです私の問題は、私が何も表示されていないFirebaseコンソールに保存されたデータを見ることができないことです。私は上記の私のコンソール画像のリンクを提供しています。 – Digvijay

+0

私のコードでやったことはありますか? –

+0

yeaおい、私もあなたのソリューションを試してみましたが、私と同じことをやっています。データを保存した後、FirebaseコンソールにJSON形式で表示されません。 – Digvijay

関連する問題