René Maas
- Forum-Beiträge: 1
10.05.2013, 13:05:55 via Website
10.05.2013 13:05:55 via Website
Hallo Android Devs,
ich nutze loopj.com/android-async-http um Daten von einer REST API zu holen und diese in ein ListView einzufügen, was wunderbar funktioniert.
Aber ich brauche noch ein paar Information von der API. Statt
Allerdings gibt es da 2 Probleme:
Danke für eure Hilfe und Zeit.
ich nutze loopj.com/android-async-http um Daten von einer REST API zu holen und diese in ein ListView einzufügen, was wunderbar funktioniert.
Aber ich brauche noch ein paar Information von der API. Statt
1map.put("company", xmlParser.getValue(e, "CUSTOMER_ID"));
möchte ich Daten aus dem zusätzlichen Request einfügen (Firmenname statt Kundennummer).Allerdings gibt es da 2 Probleme:
- Die Requests sind asynchron
- Die Callback-Function kann, soweit ich weiß, nichts zurückgeben
Danke für eure Hilfe und Zeit.
1client.post(context, API_URL, httpEntity, CONTENT_TYPE, new AsyncHttpResponseHandler(){
2 @Override
3 public void onSuccess(String response) {
4 ListView entries;
5 ArrayList<HashMap<String, String>> invoiceList = new ArrayList<HashMap<String, String>>();
6 XmlParser xmlParser = new XmlParser();
7 Document doc = xmlParser.getDomElement(response);
8 NodeList nl = doc.getElementsByTagName("INVOICE");
9 for (int i = 0; i < nl.getLength(); i++) {
10 Element e = (Element) nl.item(i);
11 HashMap<String, String> map = new HashMap<String, String>();
12 map.put("amount", NumFormat.currency(xmlParser.getValue(e, ("TOTAL"))) + xmlParser.getValue(e, "CURRENCY_CODE"));
13 map.put("company", xmlParser.getValue(e, "CUSTOMER_ID"));
14 //map.put("company", xmlParser.getValue(e, "INVOICE_ID"));
15 map.put("payment", xmlParser.getValue(e, "PAID_DATE"));
16 map.put("due", xmlParser.getValue(e, "DUE_DATE"));
17 invoiceList.add(map);
18 }
19 InvoiceAdapter adapter = new InvoiceAdapter(getApplicationContext(), invoiceList, customFont);
20 entries = (ListView) findViewById(R.id.list_outgoing_invoices);
21 entries.setAdapter(adapter);
22 }
23
24 @Override
25 public void onFailure(Throwable e, String response) {
26 Hint.showHint(context, getString(R.string.error_receive_data), Hint.LONG);
27 }
28});
2 @Override
3 public void onSuccess(String response) {
4 ListView entries;
5 ArrayList<HashMap<String, String>> invoiceList = new ArrayList<HashMap<String, String>>();
6 XmlParser xmlParser = new XmlParser();
7 Document doc = xmlParser.getDomElement(response);
8 NodeList nl = doc.getElementsByTagName("INVOICE");
9 for (int i = 0; i < nl.getLength(); i++) {
10 Element e = (Element) nl.item(i);
11 HashMap<String, String> map = new HashMap<String, String>();
12 map.put("amount", NumFormat.currency(xmlParser.getValue(e, ("TOTAL"))) + xmlParser.getValue(e, "CURRENCY_CODE"));
13 map.put("company", xmlParser.getValue(e, "CUSTOMER_ID"));
14 //map.put("company", xmlParser.getValue(e, "INVOICE_ID"));
15 map.put("payment", xmlParser.getValue(e, "PAID_DATE"));
16 map.put("due", xmlParser.getValue(e, "DUE_DATE"));
17 invoiceList.add(map);
18 }
19 InvoiceAdapter adapter = new InvoiceAdapter(getApplicationContext(), invoiceList, customFont);
20 entries = (ListView) findViewById(R.id.list_outgoing_invoices);
21 entries.setAdapter(adapter);
22 }
23
24 @Override
25 public void onFailure(Throwable e, String response) {
26 Hint.showHint(context, getString(R.string.error_receive_data), Hint.LONG);
27 }
28});
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.