package net.basilwang.fresh;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import android.os.AsyncTask;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public class RequestMapJson extends AsyncTask<Object, Object, ArrayList<SegmentOfMap>> {
PointOfSegmentService service;
int mapId;
@Override
protected void onPostExecute(ArrayList<SegmentOfMap> result) {
for (int i = 0; i < result.size(); i++) {
for (int j = 0; j < result.get(i).getPointOfSegments().size(); j++) {
result.get(i).getPointOfSegments().get(j).setSegmentId(i);
result.get(i).getPointOfSegments().get(j).setMapId(mapId);
service.save(result.get(i).getPointOfSegments().get(j));
}
}
super.onPostExecute(result);
}
@Override
protected ArrayList<SegmentOfMap> doInBackground(Object... params) {
ArrayList<SegmentOfMap> list1 = new ArrayList<SegmentOfMap>();
String result;
String url = (String) params[0];
service=(PointOfSegmentService)params[1];
mapId=(Integer)params[2];
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
try {
HttpResponse response = client.execute(get);
if (response.getStatusLine().getStatusCode() == 200) {
String s = (EntityUtils.toString(response.getEntity()));
String s1=s.replace("\\", "");
String s2=s1.substring(1, s1.length()-1);
String s3=s2.replace(" ", "");
result=s3.replace("rn", "");
list1 = jsonData(result);
}
} catch (Exception e) {
}
return list1;
}
public ArrayList<SegmentOfMap> jsonData(String str) {
ArrayList<SegmentOfMap> list2 = JSON.parseObject(str,
new TypeReference<ArrayList<SegmentOfMap>>() {
});
return list2;
}
}