2017-11-02 9 views
-2

私は本当の初心者ですので、私と私の用語で簡単に行く、私はまだ学んでいます!利用可能な形式にオブジェクトデータを抽出する

私は自分のアプリで表示したいバックエンドデータベースを持っています。

私は成功し、私のAndroid Studioアプリにそれを接続し、それを照会し、以下の方法でデータを返した:

Backendless.Data.of( "データベース").find(queryBuilder、新しいAsyncCallback>() {公共ボイドのhandleResponse(一覧 '< '地図'>' レスポンス){

はBackendless SDKの物語が" "レスポンス言う

を" オブジェクトがjava.util.Mapの集合体であるオブジェクト"私はイテレータを使った: イテレータitr = resp onse.iterator();

オブジェクトを取得するwhileループ: Object element = itr.next();

私はこの時点までうまくいきます。次のステップは、要素から有用なデータを抽出することです。

私は多くのオプションを試してきましたが、私が働いているのはelement.toString()であり、私が欲しいものを選ぶためにさまざまなメソッドを使用しています。これは非常に非効率的で、私はより良い選択肢の専門家に尋ねると思った!

+0

こんにちは、私は私の質問に2つの「レビュー」を気付きました。私はこれに非常に新しいです、あなたは私が私の質問で間違ってどこに行くのかアドバイスできますか? – Newbie123

答えて

0

あなたの質問は、むしろJavaのMap interfaceでの作業です。ですから、私はあなたのドキュメントとこのトピックに関するチュートリアルを調べるようアドバイスします。

バックエンドレスの質問では、リクエストの一部を正しく受け取ったようです。ここでは、オブジェクトのフィールドを取得する方法を示しており、拡張example from the docsです:

Backendless.Persistence.of("Contact").find(new AsyncCallback<List<Map<String, Object>>>(){ 
    @Override 
    public void handleResponse(List<Map<String, Object>> foundContacts) 
    { 
    Iterator<Map<String, Object>> contactsIterator = foundContacts.iterator(); 
    while(contactsIterator.hasNext()) 
    { 
     Map<String, Object> contact = contactsIterator.next(); 
     String name = (String) contact.get("name"); // in case you have STRING field 'name' in Backendless database 
     Integer age = (Integer) contact.get("age"); // in case you have INT field 'age' in Backendless database 
     // etc. 
    } 
    } 
    @Override 
    public void handleFault(BackendlessFault fault) 
    { 
    System.out.err("Failed find: " + fault); 
    } 
}); 

ご覧の通り、主な関心事は、応答一覧からMap代わりのObjectを取得することです。

あなたの質問は、試したことのコードサンプルや、例として使用したドキュメントへの直接リンクに役立つでしょう。

+1

Scadge、私は本当にあなたの助けとフィードバックをいただきありがとうございます、非常に感謝しています。私はより多くのコードとリンクを提供します。 String name =(String)contact.get( "name");で問題を解決しました。コード。私はそれがシンプルに見えると確信していますが、これは私を数日間怒らせています!再度、感謝します。 – Newbie123

関連する問題