//简单的一个数组的初始化 并调用 并且赋值 很多人会卡在这里 这里 简单的写下项目中用到的
//以下是简单的一点点分析 如有什么不明白的 请及时扣我
//以下红色的字体 是有解释 其他代码 请忽略 因为是本公司项目的代码 有可能会有的一些类 一些方法 没有上全 请多谅解,谢谢
public class MyStatisticsActivity extends AppCompatActivity {
private int singles;
private int doubles;
private int[] pres;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_statistics);
MobclickAgent.setDebugMode(false);
MobclickAgent.openActivityDurationTrack(false);
MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL);
findView();
getCaiRecord();
//======================================第1步 开始的初始化
// TODO: 2017/3/24 初始化数组等信息
pres = new int[]{singles,doubles};
//这块出来的结果是pres[0]=0;pres[1]=0;
String[] arr = {"单", "双"};
ArrayList<Pie> pieArrayList =new ArrayList<>();
int[] pieColor = {getResources().getColor(R.color.btn_pressed_color), getResources().getColor(R.color.update_tg_bg2)};
for(int i = 0; i < arr.length; i++) {
Pie pie = new Pie(pres[i],arr[i],pieColor[i]);
pieArrayList.add(pie);
}
mpicchartView.SetPie(pieArrayList);
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onPageStart("baseactivity");
MobclickAgent.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPageEnd("BaseAcitivty");
MobclickAgent.onPause(this);
}
@Override
protected void onStart() {
super.onStart();
onClick();
}
public void findView(){
miv_backstatistic=(RelativeLayout)findViewById(R.id.iv_backstatistic);
mpicchartView=(PieChartView)findViewById(R.id.picchartView);
mtv_double=(TextView)findViewById(R.id.tv_double);//双数
mtv_single=(TextView)findViewById(R.id.tv_single);//单数
}
public void onClick(){
// TODO: 2017/2/13 返回
miv_backstatistic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
finish();
}
});
}
private int count = 3;
// TODO: 2017/3/7 请求网络 获取数据
public void getCaiRecord(){
RequestParams params = new RequestParams(UrlApi.COUNT);
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onCancelled(CancelledException arg0) {
}
// 注意:如果是自己onSuccess回调方法里写了一些导致程序崩溃的代码,也会回调道该方法,因此可以用以下方法区分是网络错误还是其他错误
// 还有一点,网络超时也会也报成其他错误,还需具体打印出错误内容比较容易跟踪查看
@Override
public void onError(Throwable ex, boolean isOnCallback) {
System.out.println("ex"+"======="+ex);
if (count >= 0) {
getCaiRecord();
count--;
} else {
count = 3;
ToastSingleInstance.showToast("网络繁忙");
}
}
// 不管成功或者失败最后都会回调该接口
@Override
public void onFinished() {
System.out.println("结束了没");
}
@Override
public void onSuccess(String date) {
System.out.println("记录"+"--------获取记录积极---------"+date);
getDate(date);
}
});
}
public void getDate(String date) {
Gson gson = new Gson();
MyCaiRecordBean userBean = gson.fromJson(date, MyCaiRecordBean.class);
int size=userBean==null?0:userBean.data.size();
int code=userBean.code;
// TODO: 2017/3/7 返回成功是code 是200
singles=userBean.single;//单
doubles=userBean.doubleX;//双
tong_time=userBean.date;
mtv_double.setText(doubles+"");
mtv_single.setText(singles+"");
mtv_tong_time.setText(tong_time);
//=====================================================第2步,需要的时候在次赋值 这样就可以在次用到了
pres[0]= singles;
pres[1]= doubles;
//这块出来的结果是pres[0]=singles 对应的请求回来的值,pres[1]=doubles 对应的请求回来的值,
String[] arr = {"单", "双"};
ArrayList<Pie> pieArrayList =new ArrayList<>();
int[] pieColor = {getResources().getColor(R.color.btn_pressed_color), getResources().getColor(R.color.update_tg_bg2)};
for(int i = 0; i < arr.length; i++) {
Pie pie = new Pie(pres[i],arr[i],pieColor[i]);
pieArrayList.add(pie);
}
mpicchartView.SetPie(pieArrayList);
mpicchartView.reCall();
if(code==200){
//返回是200了 这里开始做操作了吗???
for(int i=0;i<size;i++){
String expects=userBean.data.get(i).expect.toString();
String opencodes=userBean.data.get(i).opencode.toString();
String tails=userBean.data.get(i).tail.toString();
HashMap<String, String> map = new HashMap<String, String>();
map.put("expect",expects);//期号
map.put("opencode",opencodes);//开奖号
map.put("tail",tails);//单双
songsList.add(map);
adapter=new MyHopeCaiAdapter(this,songsList);
mid_recyclerview_tong.setAdapter(adapter);
}
}else {
ToastSingleInstance.showToast("有错误!");
}
}
}