0

Openfireサーバーとasmackライブラリを使用しているチャットアプリケーションを開発しています。そのサーバーに登録されているユーザーを検索したい。

ここに私が書いたコードがあります..

    UserSearchManager search = new UserSearchManager(connection);  
            try {
                Log.d("JWP", "cc:"+connection.getServiceName());
                org.jivesoftware.smackx.Form searchForm = search.getSearchForm("search."+connection.getServiceName());
                org.jivesoftware.smackx.Form answerForm = searchForm.createAnswerForm();  
                answerForm.setAnswer("Username", true);  
                answerForm.setAnswer("search", editTextSearch.getText().toString());  
                org.jivesoftware.smackx.ReportedData data;
                data = search.getSearchResults(answerForm,"search."+connection.getServiceName());
                if(data.getRows() != null){   
                    Iterator<org.jivesoftware.smackx.ReportedData.Row> it = data.getRows();
                    while(it.hasNext()){
                        org.jivesoftware.smackx.ReportedData.Row row = it.next();
                        Iterator iterator = row.getValues("jid");
                        if(iterator.hasNext()){
                            String value = iterator.next().toString();
                            Log.i("Iteartor values......"," "+value);
                        }
                    }
                    Toast.makeText(Welcome.this,"Username Exists",Toast.LENGTH_SHORT).show();
                }
            }
            catch (XMPPException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

しかし、ここで getSerachFrom() メソッドは null 値を返し、さまざまなことを試しましたが、なぜこれが起こっているのかわかりません。登録ユーザー数を持つ私のopenfireサーバー。

4

0 に答える 0