package com.wise.wawc;
import java.util.List;
import java.util.Map;
import com.wise.data.Article;
import com.wise.extend.MyScrollLayout;
import com.wise.pubclas.Constant;
import com.wise.pubclas.GetSystem;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
public class PicActivity extends Activity{
private static final int get_pic = 1;
List<Map<String,String>> imageList;
ImageView mImageViews[];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pic);
MyScrollLayout sh_pic = (MyScrollLayout)findViewById(R.id.sh_pic);
Article article = (Article)getIntent().getSerializableExtra("article");
imageList = article.getImageList();
mImageViews = new ImageView[imageList.size()];
for(int i = 0 ; i < imageList.size() ; i++){
View view = LayoutInflater.from(PicActivity.this).inflate(R.layout.item_pic, null);
sh_pic.addView(view);
ImageView imageView = (ImageView)view.findViewById(R.id.iv_pic);
mImageViews[i] = imageView;
Map<String,String> imageMap = imageList.get(i);
String big_pic = imageMap.get("big_pic");
System.out.println("big_pic = " + big_pic);
big_pic = big_pic.substring((big_pic.lastIndexOf("/") + 1), big_pic.length());
System.out.println("big_pic = " + big_pic);
String path = Constant.VehiclePath + big_pic;
System.out.println("path = " + path);
Bitmap bitmap = BitmapFactory.decodeFile(path);
if(bitmap != null){
System.out.println("bitmap不为空");
imageView.setImageBitmap(bitmap);
}else{
System.out.println("bitmap为空");
}
}
new Thread(new picThread()).start();
}
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case get_pic:
System.out.println("更新msg.arg1 = " +msg.arg1);
mImageViews[msg.arg1].setImageBitmap(bitmap);
break;
}
}
};
Bitmap bitmap;
class picThread extends Thread{
@Override
public void run() {
super.run();
for(int i = 0 ; i < imageList.size() ; i++){
Map<String,String> imageMap = imageList.get(i);
String big_pic = imageMap.get("big_pic");
System.out.println("big_pic = " + big_pic);
big_pic = big_pic.substring((big_pic.lastIndexOf("/") + 1), big_pic.length());
System.out.println("big_pic = " + big_pic);
String path = Constant.VehiclePath + big_pic;
System.out.println("path = " + path);
bitmap = BitmapFactory.decodeFile(path);
if(bitmap == null){
//读取图片
bitmap = GetSystem.getBitmapFromURL(imageMap.get("big_pic"));
GetSystem.saveImageSD(bitmap, Constant.VehiclePath, big_pic,100);
Message message = new Message();
message.what = get_pic;
message.arg1 = i;
handler.sendMessage(message);
}
}
}
}
}