2017-02-26 5 views
0

これをやろうとして数時間を費やしましたが、私はサークルで走り続けていますし、firebaseからデータを正しく取得できません。firebaseから簡単なデータを取得するAndroid

私のAndroidアプリ:自分のメールアドレス

    • 認証ユーザーは、各ユーザーが持っているどのように多くのポイントを追跡します(私は今文字列として彼らのポイントを送信しています)
    • 私は」そのポイント

    MY質問です

  • 取得問題を抱えメートル...

    はどうすればよいのPUアクティビティがロードされたときにすでに保存されているポイントをtextViewに追加しますか?これは私のUserPointsクラス

    private void savePoints(){ 
        String points = editTextPoints.getText().toString().trim(); 
    
        UserPoints userPoints = new UserPoints(points); 
    
        FirebaseUser user = firebaseAuth.getCurrentUser(); 
        final DatabaseReference userRef = databaseReference.child(user.getUid()); 
    
        userRef.setValue(userPoints); 
        Toast.makeText(this, "Points Saved...", Toast.LENGTH_SHORT).show(); 
    } 
    

    です:

    public class UserPoints { 
    public String points; 
    
    public UserPoints(String points) { 
        this.points = points; 
    } 
    
    public UserPoints(){ } 
    
    } 
    

    今すぐ...にどのように上の任意の提案ここで

    は、私はこれは私の保存機能である enter image description here

    を持っているものですloadpointsを作成すると、ユーザーは彼が持っているポイントの数を知ることができます。

    答えて

    1

    私の知る限り、あなたは間違った場所にリスナーを添付している

    ありがとう:

    private void savePoints(){ 
        //editTextPoints is my editText field 
        String points = editTextPoints.getText().toString().trim(); 
    
        UserPoints userPoints = new UserPoints(points); 
    
        FirebaseUser user = firebaseAuth.getCurrentUser(); 
        final DatabaseReference userRef = databaseReference.child(user.getUid()); 
    
        userRef.setValue(points); 
    
        userRef.addValueEventListener(new ValueEventListener() { 
         @Override 
         public void onDataChange(DataSnapshot dataSnapshot) { 
          String value = dataSnapshot.getValue(String.class); 
          retrievePoints.setText(value); 
         } 
    
         @Override 
         public void onCancelled(DatabaseError databaseError) { 
          throw databaseError.toException(); // don't just ignore errors 
         } 
        }); 
    } 
    

    は、私はあなたがところでどこか他のリスナーを添付することを期待したいです。今、ちょうどあなたがちょうど書いた同じ値を拾うために起こっているので、あなたにも簡単に直接リスナーせずにテキストビューにポイントを設定するかもしれません:

    retrievePoints.setText(points); 
    
    +0

    こんにちはフランク、私は同じをつかむしようとしていました学習目的のための価値。 あなたは素晴らしいです...私は病気になっており、はっきりと考えていませんでしたが、あなたは数分で私の問題を解決しました。あなたの貢献に感謝します。 – user258813

    +0

    ようこそ。 :-)私の答えが役に立つなら、その左側のupvoteボタンをクリックしてください。あなたの質問に答えた場合は、チェックマークをクリックしてそれを受け入れます。そうすれば、他の人はあなたが(十分に)助けられたことを知ることができます。 –

    +0

    質問をアップロードして、すでに保存されているデータを取得する方法をより具体的に説明しました。 – user258813

    関連する問題