package com.hyrt.cei.ui.econdata;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.hyrt.cei.R;
import com.hyrt.cei.dzb.ui.HomePageDZB;
import com.hyrt.cei.util.AsyncImageLoader;
import com.hyrt.cei.vo.ChartMap;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class EconZBInf extends Activity implements OnClickListener {
List<ChartMap> chartData;
ImageView view, webView;
ImageView szImg, zzImg, fxImg, zbImg, sjImg, homeImg, imageView, back;
AsyncImageLoader asyncImageLoader;
public static String zb1 = "国民经济景气动向";
public static String zb2 = "国内生产总值";
public static String zb3 = "企业景气";
public static String zb4 = "工业生产";
public static String zb5 = "消费者信心";
public static String zb6 = "固定资产投资";
public static String zb7 = "房地产景气";
public static String zb8 = "国内市场";
public static String zb9 = "物价";
public static String zb10 = "财政";
public static String zb11 = "货币供应量";
public static String zb12 = "对外贸易 ";
public static String zb13 = "利率";
public static String zb14 = "外商直接投资";
public static String zb15 = "股票市场";
public static String zb16 = "汇率与外汇储备";
public static String zb17 = "国内生产总值";
public static String zb18 = "对外贸易";
public static String zb19 = "国内市场";
public static String zb20 = "农村人均现金收入";
public static String zb21 = "固定资产投资";
public static String zb22 = "城镇人均可支配收入";
public static String zb23 = "房地产开发投资";
public static String zb24 = "城乡收入对比";
public static String zb25 = "国内生产总值";
public static String zb26 = "工业生产";
public static String zb27 = "国内生产总值";
public static String zb28 = "国内市场";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.econ_zhibiao_info);
overridePendingTransition(R.anim.push_in, R.anim.push_out);
initView();
Intent intent = getIntent();
String returnID = intent.getStringExtra("zbNumber");
view = (ImageView) findViewById(R.id.wv_zb_map);
webView = (ImageView) findViewById(R.id.wv_zb_map1);
view.setBackgroundResource(R.drawable.econ_chart);
initData();
RelativeLayout layout = (RelativeLayout) findViewById(R.id.econ_title);
back = (ImageView) layout.findViewById(R.id.imageView2);
back.setOnClickListener(this);
if (returnID == null || returnID.equals("")) {
loadView(0);
} else {
switch (Integer.parseInt(returnID)) {
case 1:
loadView(1);
break;
case 2:
loadView(2);
break;
case 3:
loadView(3);
break;
case 4:
loadView(4);
break;
case 5:
loadView(5);
break;
case 6:
loadView(6);
break;
case 7:
loadView(7);
break;
case 8:
loadView(8);
break;
case 9:
loadView(9);
break;
case 10:
loadView(10);
break;
case 11:
loadView(11);
break;
case 12:
loadView(12);
break;
case 13:
loadView(13);
break;
case 14:
loadView(14);
break;
case 15:
loadView(15);
break;
case 16:
loadView(16);
break;
case 17:
loadView(17);
break;
case 18:
loadView(18);
break;
case 19:
loadView(19);
break;
case 20:
loadView(20);
break;
case 21:
loadView(21);
break;
case 22:
loadView(22);
break;
case 23:
loadView(23);
break;
case 24:
loadView(24);
break;
case 25:
loadView(25);
break;
case 26:
loadView(26);
break;
case 27:
loadView(27);
break;
case 28:
loadView(28);
break;
default:
break;
}
}
}
private void loadView(int number) {
/*
* HashMap<String, String> uris=new HashMap<String, String>();
* uris.put(zb1,
* "http://chart.apis.google.com/chart?cht=lxy&chs=800x300&chd=t:25,50,75,100|30,60,60,25&chxt=x,y&chxl=0:||2011.I|2011.II|2011.III|2011.IV|1:|1.8|2.0|2.2|2.4|2.6&chg=0,25,0,0&chm=d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0"
* ); uris.put(zb2,
* "http://chart.apis.google.com/chart?cht=lxy&chs=800x300&chd=t:5,15,25,35,45,55,65,75,85,95,100|40,60,50,45,80,40,39,60,40,36,81&chxt=x,y&chxl=0:|2011.2|2011.4|2011.6|2011.8|2011.10|2011.12|1:|0.6|0.8|1.0|1.2|1.4&chg=0,25,0,0&chm=d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0|d,FF0000,0,4.0,20.0|d,FF0000,0,5.0,20.0|d,FF0000,0,6.0,20.0|d,FF0000,0,7.0,20.0|d,FF0000,0,8.0,20.0|d,FF0000,0,9.0,20.0|d,FF0000,0,10.0,20.0"
* ); uris.put(zb3,
* "http://chart.apis.google.com/chart?cht=lxy&chs=800x300&chd=t:5,15,25,35,45,55,65,75,85,95,100|40,60,50,45,80,40,39,60,40,36,81&chxt=x,y&chxl=0:|2011.2|2011.4|2011.6|2011.8|2011.10|2011.12|1:|1.2|1.3|1.4|1.5|1.6&chg=0,25,0,0&chm=d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0|d,FF0000,0,4.0,20.0|d,FF0000,0,5.0,20.0|d,FF0000,0,6.0,20.0|d,FF0000,0,7.0,20.0|d,FF0000,0,8.0,20.0|d,FF0000,0,9.0,20.0|d,FF0000,0,10.0,20.0"
* ); uris.put(zb4,
* "http://chart.apis.google.com/chart?cht=lxy&chs=800x300&chd=t:5,15,25,35,45,55,65,75,85,95,100|40,60,50,45,80,40,39,60,40,36,81&chxt=x,y&chxl=0:|2011.2|2011.4|2011.6|2011.8|2011.10|2011.12|1:|-0.8|-0.3|0.2|0.7|1.2|1.7|2.2|2.7&chg=0,25,0,0&chm=d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0|d,FF0000,0,4.0,20.0|d,FF0000,0,5.0,20.0|d,FF0000,0,6.0,20.0|d,FF0000,0,7.0,20.0|d,FF0000,0,8.0,20.0|d,FF0000,0,9.0,20.0|d,FF0000,0,10.0,20.0"
* );
*/
if (chartData.get(number - 1).getData().length > 1) {
try {
URL url = new URL(getChartMap(chartData.get(number - 1))[0]);// "http://chart.apis.google.com/chart?cht=lc&chs=870x300&chd=t:10,30,60,50,70,40,30,50,100&chm=d,FF0000,0,0.0,20.0|chm=d,FF0000,0,1.0,20.0|chm=d,FF0000,0,2.0,20.0|chm=d,FF0000,0,3.0,20.0|chm=d,FF0000,0,4.0,20.0|chm=d,FF0000,0,5.0,20.0|chm=d,FF0000,0,6.0,20.0|chm=c,FF0000,0,7.0,20.0&chxt=x,y,r&chxl=0:||1:||2:|"
InputStream in = url.openStream();
Bitmap bp1 = BitmapFactory.decodeStream(in);
URL url1 = new URL(getChartMap(chartData.get(number - 1))[1]);// "http://chart.apis.google.com/chart?cht=bvg&chs=900x300&chd=t:10,30,60,50,70,40,30,50,100&chco=cc0000&chxt=x,y,r&chxl=0:|091-lv|101|101-II|101-III|101-IV|III|III-II|III-III|III-IV|1:|0.0|5000.0|10000.0|15000.0|20000.0|25000.0|2:|0.0|2.0|4.0|6.0|8.0|10.0|12.0&chg=11.1,0,0,0&chbh=90"
InputStream in1 = url1.openStream();
Bitmap bp2 = BitmapFactory.decodeStream(in1);
view.setImageBitmap(bp1);
webView.setImageBitmap(bp2);
webView.setAlpha(100);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
Bitmap bp2 = null;
;
try {
URL url1 = new URL(getChartMap(chartData.get(number - 1))[0]);
InputStream in1 = url1.openStream();
bp2 = BitmapFactory.decodeStream(in1);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
webView.setImageBitmap(bp2);
}
}
/**
*
* 图片透明度处理
*
*
* @param sourceImg
*
* 原始图片
*
* @param number
*
* 透明度
*
* @return
*/
public static Bitmap setAlpha(Bitmap sourceImg, int number) {
int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()];
sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0,
sourceImg.getWidth(), sourceImg.getHeight());// 获得图片的ARGB值
number = number * 255 / 100;
for (int i = 0; i < argb.length; i++) {
// argb = (number << 24)|(argb&0x00FFFFFF);// 修改最高2位的值
}
sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(),
sourceImg.getHeight(), Config.ARGB_8888);
return sourceImg;
}
/**
* 服务端请求数据
*/
public void initData() {
// 返回结果解析后为List<ChartMap>
chartData = new ArrayList<ChartMap>();
for (int i = 0; i < 8; i++) {
ChartMap chartMap = new ChartMap();
chartMap.setKey("zb" + i);
chartMap.setbType("zx");
chartMap.setsType("lxy");
chartMap.setData(new String[] { "" + i + 25 + "," + 50 + i
+ ",75,100|30,60,60,25" });
chartMap.setZhuoBiao("x,y&chxl=0:||2011.I|2011.II|2011.III|2011.IV|1:|1.8|2.0|2.2|2.4|2.6");
chartMap.setWangGe("0,25,0,0");
chartMap.setJieDianType("d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0");
chartData.add(chartMap);
}
for (int i = 8; i < 18; i++) {
ChartMap chartMap = new ChartMap();
chartMap.setKey("zb" + i);
chartMap.setbType("zz");
chartMap.setsType("bvs");
chartMap.setData(new String[] { "" + 25 + i + "," + 50 + i
+ ",75,100,30,60,60,25" });
chartMap.setZhuoBiao("x,y&chxl=0:||2011.I|2011.II|2011.III|2011.IV|1:|1.8|2.0|2.2|2.4|2.6");
chartMap.setWangGe("0,25,0,0");
chartMap.setColor("ff0000");
chartMap.setBackGround("c,s,76A4FB");
chartMap.setJieDianType("d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0");
chartData.add(chartMap);
}
for (int i = 18; i < 25; i++) {
ChartMap chartMap = new ChartMap();
chartMap.setKey("zb" + i);
chartMap.setbType("bz");
chartMap.setsType("p3");
chartMap.setData(new String[] { "25,50,75,100,30,60,60,25" });
chartMap.setZhuoBiao("Jan|Feb|Mar|Apr|May|June");
chartMap.setWangGe("0,25,0,0");
chartMap.setColor("ff0000");
chartMap.setBackGround("c,s,76A4FB");
chartMap.setJieDianType("d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0");
chartData.add(chartMap);
}
for (int i = 25; i < 28; i++) {
ChartMap chartMap = new ChartMap();
chartMap.setKey("zb" + i);
chartMap.setbType("hh");
chartMap.setData(new String[] { "", "" });
chartData.add(chartMap);
}
}
public String[] getChartMap(ChartMap map) {
String[] chartUrl = null;
if (map.getbType().equals("zx")) {
String str = "http://chart.apis.google.com/chart?" + "cht="
+ map.getsType() + "&" + "chs=800x300&" + "chd=t:"
+ map.getData()[0] + "&" + // 25,50,75,100|30,60,60,25
"chxt=" + map.getZhuoBiao() + "&" + // x,y&chxl=0:||2011.I|2011.II|2011.III|2011.IV|1:|1.8|2.0|2.2|2.4|2.6&
"chg=" + map.getWangGe() + "&" + // 0,25,0,0
"chm=" + map.getJieDianType() + "";// d,FF0000,0,0.0,20.0|d,FF0000,0,1.0,20.0|d,FF0000,0,2.0,20.0|d,FF0000,0,3.0,20.0
chartUrl = new String[] { str };
} else if (map.getbType().equals("zz")) {
String str = "http://chart.apis.google.com/chart?" + "chs=800x300&"
+ "chd=t:" + map.getData()[0] + "&" + "cht="
+ map.getsType() + "&" + "chco=" + map.getColor() + "&"
+ // ff0000
"chf=" + map.getBackGround() + "&"
+ // c,s,76A4FB|bg,s,FFF2CC
"chg=" + map.getWangGe() + "&" + "chxt="
+ map.getZhuoBiao() + "";
chartUrl = new String[] { str };
} else if (map.getbType().equals("bz")) {
String str = "http://chart.apis.google.com/chart?" + "chs=800x300&"
+ "chd=t:" + map.getData()[0] + "&" + "cht="
+ map.getsType() + "&" + "chco=" + map.getColor() + "&"
+ "chl=" + map.getZhuoBiao() + "";
chartUrl = new String[] { str };
} else if (map.getbType().equals("hh")) {
String str = "http://chart.apis.google.com/chart?"
+ "cht=lxy&"
+ "chs=800x300&"
+ "chd=t:10,30,60,50,20,20,20,20,20|70,40,30,50,20,20,20,20,20&"
+ "chm=d,FF0000,0,0.0,20.0|chm=d,FF0000,0,1.0,20.0|chm=d,FF0000,0,2.0,20.0|chm=d,FF0000,0,3.0,20.0|chm=d,FF0000,0,4.0,20.0|chm=d,FF0000,0,5.0,20.0|chm=d,FF0000,0,6.0,20.0|chm=c,FF0000,0,7.0,20.0&"
+ "chxt=x,y,r&chxl=0:||1:||2:|";
String str1 = "http://chart.apis.google.com/chart?"
+ "cht=bvg&chs=800x300&"
+ "chd=t:10,30,60,50,70,40,30,50,100&"
+ "chco=cc0000&"
+ "chxt=x,y,r&chxl=0:|091-lv|101|101-II|101-III|101-IV|III|III-II|III-III|III-IV|1:|0.0|5000.0|10000.0|15000.0|20000.0|25000.0|2:|0.0|2.0|4.0|6.0|8.0|10.0|12.0&"
+ "chg=11.1,0,0,0&" + "chbh=75";
chartUrl = new String[] { str, str1 };
}
return chartUrl;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Class<?> cla = null;
if (v == back) {
this.finish();
return;
} else if (v == szImg) {
cla = EconDateNumberActivity.class;
} else if (v == fxImg) {
cla = EconFXDataActivity.class;
} else if (v == zzImg) {
cla = EconZZDataActivity.class;
Intent intent = new Intent(this, cla);
startActivity(intent);
return;
} else if (v == zbImg) {
cla = EconZBQueryActivity.class;
Intent intent = new Intent(this, cla);
startActivity(intent);
return;
} else if (v == homeImg) {
cla = HomePageDZB.class;
}
Intent intent = new Intent(this, cla);
startActivity(intent);
this.finish();
}
private void initView() {
szImg = (ImageView) findViewById(R.id.iv_econ_zbinfo_sz);
szImg.setOnClickListener(this);
zzImg = (ImageView) findViewById(R.id.iv_econ_zbinfo_zz);
zzImg.setOnClickListener(this);
fxImg = (ImageView) findViewById(R.id.iv_econ_zbinfo_fx);
fxImg.setOnClickListener(this);
zbImg = (ImageView) findViewById(R.id.iv_econ_zbinfo_zb);
zbImg.setOnClickListener(this);
homeImg = (ImageView) findViewById(R.id.iv_econ_zbinfo_home);
homeImg.setOnClickListener(this);
RelativeLayout title = (RelativeLayout) findViewById(R.id.econ_title);
back = (ImageView) title.findViewById(R.id.imageView2);
back.setOnClickListener(this);
}
}