Thursday 29 November 2018

android - how to make a method in asynctask

Kindly guide me how to make all this into an asynctask method. I have to make this code in asynctask because it is giving a null value because of calling it in uithread. Kindly show me the correct way how to make this possible. I have seen many, many questions on stackoverflow but I am unable to make this work.



I have seen following questions:



How to fix android.os.NetworkOnMainThreadException?



android.os.NetworkOnMainThreadException with android 4.2



NetworkOnMainThreadException




android.os.NetworkOnMainThreadException



How to fix android.os.NetworkOnMainThreadException?



My class is:



public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";

public JSONParser() {
}
public JSONObject makeHttpRequest(String url, String method, List params)
{ try
{
if(method == "POST")
{
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"){
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 {
jObj = new JSONObject(json);
}
catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
return jObj;
}

}

No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...