J
Jason235
Neues Mitglied
- 0
Hallo ihr,
Ich bin so langsam am verzweifeln. Seit drei Tagen nun bin ich dabei eine simple Tabelle mit 7 Spalten von Android aus zu befüllen.
Die App soll 7 Parameter an ein Php script übergeben welches diese dann in die mysql datenbank einträgt.
JSONParser.java sieht aktuell so aus:
den asynctask rufe ich mit:
nach einem buttonclick auf.
Der Asynchronous task startet:
So langsam weiß ich leider nicht mehr weiter was genau dabei schief läuft.
Die parameter werden richtig übergeben aber sobald JSONObject json = jsonParser.makeHTTPRequest(sqlurl, "POST", params); aufgerufen wird ist json danach leer und es hagelt eine null pointer exception.
Um jede Hilfe bin ich froh.
Danke für eure Hilfe.
Gruß Demian
Ich bin so langsam am verzweifeln. Seit drei Tagen nun bin ich dabei eine simple Tabelle mit 7 Spalten von Android aus zu befüllen.
Die App soll 7 Parameter an ein Php script übergeben welches diese dann in die mysql datenbank einträgt.
JSONParser.java sieht aktuell so aus:
Code:
import android.util.Log;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
// constructor
public JSONParser() {
}
// function get json from url
// by making HTTP POST or GET mehtod
public JSONObject makeHttpRequest(String url, String method,
List<NameValuePair> params) {
// Making HTTP request
try {
// check for request method
if (method == "POST") {
// request method is POST
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} else if (method == "GET") {
// request method is GET
DefaultHttpClient httpClient = new DefaultHttpClient();
String paramString = URLEncodedUtils.format(params, "utf-8");
url += "?" + paramString;
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
}
den asynctask rufe ich mit:
Code:
new phpaufruf().execute();
Der Asynchronous task startet:
Code:
private class phpaufruf extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... args) {
//... aus gründen der übersicht ausgelassen parameter werden in params gepackt
JSONObject json = jsonParser.makeHttpRequest(sqlurl, "POST", params);
//check log cat for response
Log.d("Create Response", json.toString());
//check for sucess tag
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
//sucessfully created product
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}
So langsam weiß ich leider nicht mehr weiter was genau dabei schief läuft.
Die parameter werden richtig übergeben aber sobald JSONObject json = jsonParser.makeHTTPRequest(sqlurl, "POST", params); aufgerufen wird ist json danach leer und es hagelt eine null pointer exception.
Um jede Hilfe bin ich froh.
Danke für eure Hilfe.
Gruß Demian