2017-04-25 3 views
1

私は、ユーザー(友人の名前)からテキストを受け取り、そのユーザーがデータベースに存在するかどうかをチェックし、そのユーザーとユーザーが存在し、まだあなたの友人でない場合、Parseバックエンド上の配列である友達リストにそれらを追加します。チェックは機能しているように見えますが、デバイスのリストに「frank」が追加されていますが、リストがサーバー上に更新または保存されていないため、なぜ動かすことができないのですか。エラーと私は見つけることができません。私は "請求書"としてログインしてテストしています。以下のデータベースの方法とスクリーンショットを見つけてください。どんな助けでも大歓迎です。Parse by Bitnami for Android(フレンドリスト)

Parse bitnami database here

public void addFriend(View view){ 

    final EditText mText = (EditText)findViewById(R.id.editText); 

    ParseQuery<ParseUser> query = ParseUser.getQuery(); 
    query.whereEqualTo("username", mText.getText().toString()); 

    query.countInBackground(new CountCallback() { 
     @Override 
     public void done(int count, ParseException e) { 
      if (e == null) { 
       if(count==0){ 
        Toast.makeText(getApplicationContext(), "User Doesn't Exist", Toast.LENGTH_LONG).show(); 
       } 
       else if (ParseUser.getCurrentUser().getList("friendsList").contains(mText.getText().toString())) 
       {Toast.makeText(getApplicationContext(), "User is already a friend", Toast.LENGTH_LONG).show();} 

       else 
       { 
        ParseUser.getCurrentUser().getList("friendsList").add(mText.getText().toString()); 
        ParseUser.getCurrentUser().saveInBackground(); 
       } 
      } 
     } 
    }); 

} 
+0

ParseUser.getCurrentUser().getList("friendsList").add(mText.getText().toString()); 

は、この行を変更してみてくださいあなたの友人の名前を比較する – njzk2

+0

@ njzk2このメソッドは、ユーザーが入力した名前をUsersデータベースに照会し、見つかった場合は、これがintに割り当てられている数を数えます。そのユーザーはデータベース上に見つかりませんでしたので、存在しません。 2回目の使用時には、再度データベースに照会して、ユーザーが既に友人リストに登録されているかどうかを確認します(友人は1回のみ追加できます)ユーザーのfriendsListには追加しているユーザー名がまだ含まれていません)、次にmTextがフレンドリストに追加されます。 – Codenoob5000

答えて

0

私は解析を使用していないくらい自分が、ここではAPIドキュメントから:http://docs.parseplatform.org/android/guide/#arrays何が起こっているようですが、あなたがList<>から.add()方法を使用しているで見え

が、 ParseObjectでParseの具体的な.add()メソッドを使用する必要があるようです。 。あなたが同じ `mText.getText()のtoString()`至る所を使用しているので、私はあなたが望むどのように表示されていない

ParseUser.getCurrentUser().add("friendsList", mText.getText().toString());