sajadpm
چهارشنبه 24 مهر 1392, 12:23 عصر
با سلام و خسته نباشید
ابتدا عید رو به همه ی دوستان و اساتید انجمن تبریک عرض می کنم و من از josn برای دریافت اطلاعات از وب استفاده می کنم که کد زیر class اش می باشد :
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
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, "UTF-8"), 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());
}
حالا در اینجا اگر در حالت معمولی به اینترنت متصل باشید هیچ مشکلی به وجود نمی یاد اگر به اینترنت متصل باشید ولی به زمانی که به اینترنت متصل هستید ولی مشکلی در اتصال وجود دارد برنامه این ارور رو در logcat نشان و برنامه فورس کلوز میده :
Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
حالا با توجه به این من می خواهم به وسیله ی http request بفرستم برای چک کردن اینترنت با توجه به این تاپیک : http://barnamenevis.org/showthread.php?421467-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA&p=1885850&viewfull=1#post1885850 ولی این کد برای آندروید 4 به بالا کار نمی کند چون باید از asynctask استفاده بشود !
لطفا من رو راهنمایی نماید از چه روشی استفاده کنم ؟ الان نرم افزار مارکت های موجود در از چه روشی استفاده می کنند که می نویسد مشکل در ارتباط ! ؟
پیشاپیش از راهنمایی شما سپاس گزارم ؟
ابتدا عید رو به همه ی دوستان و اساتید انجمن تبریک عرض می کنم و من از josn برای دریافت اطلاعات از وب استفاده می کنم که کد زیر class اش می باشد :
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
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, "UTF-8"), 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());
}
حالا در اینجا اگر در حالت معمولی به اینترنت متصل باشید هیچ مشکلی به وجود نمی یاد اگر به اینترنت متصل باشید ولی به زمانی که به اینترنت متصل هستید ولی مشکلی در اتصال وجود دارد برنامه این ارور رو در logcat نشان و برنامه فورس کلوز میده :
Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
حالا با توجه به این من می خواهم به وسیله ی http request بفرستم برای چک کردن اینترنت با توجه به این تاپیک : http://barnamenevis.org/showthread.php?421467-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9-%D8%A7%D8%B2-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA&p=1885850&viewfull=1#post1885850 ولی این کد برای آندروید 4 به بالا کار نمی کند چون باید از asynctask استفاده بشود !
لطفا من رو راهنمایی نماید از چه روشی استفاده کنم ؟ الان نرم افزار مارکت های موجود در از چه روشی استفاده می کنند که می نویسد مشکل در ارتباط ! ؟
پیشاپیش از راهنمایی شما سپاس گزارم ؟