Gson解析
来源:互联网 发布:美国情景喜剧排行知乎 编辑:程序博客网 时间:2024/05/22 14:25
public class CuxiaoActivity extends AppCompatActivity {
private BaseAdapter adapter;
private ListView lv;
private Button cu;
private List<Cuxiaoli> list;
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
adapter=new MyAdapter();
lv.setAdapter(adapter);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cuxiao);
//接收listView控件
lv=(ListView)findViewById(R.id.culv);
//接收cu控件
cu=(Button)findViewById(R.id.cu);
cu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
new Thread(){
private String text;
public void run() {
try {
//创建URL
URL url=new URL("http://121.42.8.95:8090/ECServer_D/topic");
//创建连接HttpURLContention对象
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
//执行
connection.connect();
//获得响应吗
int code=connection.getResponseCode();
//判断响应码正确是为200
if(code==200){
//输入流
InputStream inputStream=connection.getInputStream();
byte[] by=new byte[1024];
//输出流
ByteArrayOutputStream bos=new ByteArrayOutputStream();
int len=-1;
//
while((len=inputStream.read(by))!=-1){
bos.write(by, 0, len);
}
//关闭
inputStream.close();
//把值付给text
text=bos.toString();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Gson gson=new Gson();
Cuxiao cuxi=gson.fromJson(text,Cuxiao.class);
list=cuxi.getTopic();
handler.sendEmptyMessageAtTime(0,1000);
};
}.start();
}
//适配器
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewholder;
if(convertView!=null){
viewholder=(ViewHolder) convertView.getTag();
}
else{
convertView= LayoutInflater.from(CuxiaoActivity.this).inflate(R.layout.cuxiaolv,null);
viewholder=new ViewHolder();
viewholder.name=(TextView)convertView.findViewById(R.id.cuname);
viewholder.image=(ImageView)convertView.findViewById(R.id.cuimage);
convertView.setTag(viewholder);
}
viewholder.name.setText(list.get(position).getName());
ImageLoader imageLoader=ImageLoader.getInstance();
imageLoader.displayImage(list.get(position).getPic(),viewholder.image);
return convertView;
}
class ViewHolder{
private TextView name;
private ImageView image;
}
}
private BaseAdapter adapter;
private ListView lv;
private Button cu;
private List<Cuxiaoli> list;
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg) {
adapter=new MyAdapter();
lv.setAdapter(adapter);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cuxiao);
//接收listView控件
lv=(ListView)findViewById(R.id.culv);
//接收cu控件
cu=(Button)findViewById(R.id.cu);
cu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
new Thread(){
private String text;
public void run() {
try {
//创建URL
URL url=new URL("http://121.42.8.95:8090/ECServer_D/topic");
//创建连接HttpURLContention对象
HttpURLConnection connection=(HttpURLConnection) url.openConnection();
//执行
connection.connect();
//获得响应吗
int code=connection.getResponseCode();
//判断响应码正确是为200
if(code==200){
//输入流
InputStream inputStream=connection.getInputStream();
byte[] by=new byte[1024];
//输出流
ByteArrayOutputStream bos=new ByteArrayOutputStream();
int len=-1;
//
while((len=inputStream.read(by))!=-1){
bos.write(by, 0, len);
}
//关闭
inputStream.close();
//把值付给text
text=bos.toString();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Gson gson=new Gson();
Cuxiao cuxi=gson.fromJson(text,Cuxiao.class);
list=cuxi.getTopic();
handler.sendEmptyMessageAtTime(0,1000);
};
}.start();
}
//适配器
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewholder;
if(convertView!=null){
viewholder=(ViewHolder) convertView.getTag();
}
else{
convertView= LayoutInflater.from(CuxiaoActivity.this).inflate(R.layout.cuxiaolv,null);
viewholder=new ViewHolder();
viewholder.name=(TextView)convertView.findViewById(R.id.cuname);
viewholder.image=(ImageView)convertView.findViewById(R.id.cuimage);
convertView.setTag(viewholder);
}
viewholder.name.setText(list.get(position).getName());
ImageLoader imageLoader=ImageLoader.getInstance();
imageLoader.displayImage(list.get(position).getPic(),viewholder.image);
return convertView;
}
class ViewHolder{
private TextView name;
private ImageView image;
}
}
0 0
- Gson解析
- GSON解析
- Gson解析
- Gson解析
- Gson解析
- Gson解析
- GSON解析
- Gson解析
- Gson解析
- Gson解析
- Gson解析
- Gson 解析
- gson解析
- Gson解析
- gson解析
- Gson解析
- GSON解析
- Gson解析
- Android图片加载库Glide
- sizeof 可变参数的模版特化 C++ templa
- 1016 部分a+b
- tjut 1247
- 如何在HTML页面上自由移动DIV组件?
- Gson解析
- Linux nand测试
- OSI与TCP/IP各层的结构与功能
- 暑假尾声
- android 实现点击输入框弹出日期选择对话框(DatePickerDialog)
- 版本更新123
- 1017 A除以B
- Paracle VS Serialization in android
- LIGHT OJ 1331 - Agent J 【余弦定理+海伦公式】