[Android] POST Anfrage an Webserver und parsen von JSON

1. Anfrage an Webserver und return antwort von webserver
2. Parse JSON Response nach angegebenem Attribut Namen und return attribut value

da die Einrückung und code highlighting nicht funktioniert habe ich den code auch auf pastebin gepasted 

package com.halal.helalcheck;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class HalalcheckActivity extends Activity {
/** Called when the activity is first created. */
String TAG = "meinDebug";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);String ean_Att = parseJSONPost("data", "ean");
String name_Att = parseJSONPost("data", "name");
String level_Att = parseJSONPost("data", "level");
String content_Att = parseJSONPost("data", "content");

String countProducts = parseJSONPost("count", null);

Log.i(TAG, "EAN-Code: " + ean_Att);
Log.i(TAG, "Name: " + name_Att);
Log.i(TAG, "Level: " + level_Att);
Log.i(TAG, "Content: " + content_Att);
Log.i(TAG, "Anzahl der Produkte: " + countProducts);

}

// Parse JSON Anfrage
public String parseJSONPost(String dataTyp, String dataAttribute) {

String productAttribute = null;
String count_string = null;
String readProductDb = readProductDb();
Log.i(TAG, readProductDb);
try {
JSONObject jsonObject = new
JSONObject(readProductDb);
//Log.i(TAG, "Number of entries " +
jsonObject.length());
JSONArray dataArray = jsonObject.getJSONArray("data");
int count = jsonObject.getInt("count");

count_string = Integer.toString(count);
JSONObject jsonProductData = dataArray.getJSONObject(0);
if (dataAttribute != null) {
productAttribute = jsonProductData.getString(dataAttribute);
}

} catch (Exception e) {
e.printStackTrace();
}
if (dataTyp == "data" ) {
return productAttribute;
}
else {
return count_string;
}

}

// POST Anfrage an Webserver
public String readProductDb() {
StringBuilder sb1 = new StringBuilder();
try {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/");
// Add your data
List nameValuePairs = new ArrayList(2);
nameValuePairs.add(new BasicNameValuePair("productName", "7622300202286"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
// convert stream to String
BufferedReader buf = new BufferedReader(new InputStreamReader(entity.getContent()));
String line = null;
while ((line = buf.readLine() ) != null) {
sb1.append(line+" ");
}
} catch (Exception e) {
// TODO Auto-generated catch block
}
return sb1.toString();
}
}


da die Einrückung und code highlighting nicht funktioniert habe ich den code auch auf pastebin gepasted 

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s