0

このせいで気が狂いそう。バックエンドを処理するために Parse.com を使用しています。この「構造」を与える Cloud Code 関数を呼び出す必要があります。

{ "idShop":"asdf", "idCostumer":"zxcv", "selection": [
    {"idOffer":"product1", "quantity":3 }, 
    {"idOffer":"product2", "quantity":1 } 
] }

curl を使えば問題なく動作しますが、Android でのやり方がわかりません。したがって、アイデアは配列を JSON 値に入れることです。

すべての情報を文字列と HashMap 配列に入れようとしましたが、結果が得られませんでした。

何か案が??

助けてくれてありがとう!:)


スニルの答えの後:

これは私がやっていることであり、動作しません:

HashMap<String, String [] > params = new HashMap<String, String []>();
                params.put("idCostumer", new String[]{costumerId});
                params.put("idShop", new String[]{idShop});


                OfferListItem item;
                ArrayList<String> selectionList = new ArrayList<String>();

                for(int i=0; i<offerList.size();i++){                   
                    item = offerList.get(i);
                    if (item.getClicks()>0){    
                        selectionList.add("\"idOffer\":"+item.getId()+", "+"\"quantity\":"+item.getClicks());                       
                    }
                }
                String [] selection = new String [selectionList.size()];
                for (int i=0;i<selection.length;i++) {
                    selection[i]=selectionList.get(i);
                }

                params.put("selection", selection);
4

3 に答える 3

1

これは遅いかもしれませんが、これを試してください。クラウド コードで、2 つの配列変数を使用します。1 つ目は配列オブジェクトを構築するためのもので、2 つ目は 'ArrayList' を構築するためのものなので、コースの配列リストを返したいと仮定し、それぞれに 3 人の学生が取得したマークは、次のようになります。

-クラウドコード

studentMarks={};

courses=[ ];

For(int i=0;i<3;i++)

{

studentMarks={stud1:3,stud2:10,stud3:45}

courses.push(studentMarks);

}

response.success(コース)

- 次に、Android コードで Object 型の ArrayList を渡します

public void done(ArrayList<Object> courses, ParseException e) {

// cast the course to a HashMap

HashMap<String,Object> object= (HashMap<String,Object>)courses.get(0);

int stud1 = (Integer) object.get("stud1");                      

}
于 2014-06-12T12:27:52.160 に答える