数组异步

来源:互联网 发布:全境封锁 nge无法优化 编辑:程序博客网 时间:2024/05/08 06:27
package com.bawei.uu;


import java.io.IOException;
import java.io.InputStream;


import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;


import com.bawei.vo.Er;
import com.google.gson.Gson;


import android.R.integer;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.GridView;


public class Daohang extends AsyncTask<String, integer, Er[]> {


Context context;
GridView gv;
public Daohang(Context context, GridView gv) {
super();
this.context = context;
this.gv = gv;
}
@Override
protected Er[] doInBackground(String... params) {
try {
HttpClient hc=new DefaultHttpClient();
HttpGet hg=new HttpGet(params[0]);
HttpResponse hr = hc.execute(hg);
int leng = hr.getStatusLine().getStatusCode();
if(leng==200){
InputStream is = hr.getEntity().getContent();
byte[] by=new byte[1024];
int i=0;
StringBuffer sb=new StringBuffer();
while((i=is.read(by))>0){
sb.append(new String(by,0,i,"gbk"));
}
String str=sb.toString();
Gson g=new Gson();
Er[] e = g.fromJson(str, Er[].class);
return e;
}

} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Er[] e) {
// TODO Auto-generated method stub
super.onPostExecute(e);
gv.setAdapter(new Myadapter(context,e));
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
@Override
protected void onProgressUpdate(integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}


}
0 0