/** * @Author Benson * @Time 2013-11-26 */ package zjut.soft.finalwork.ui; import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigDecimal; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import zjut.soft.finalwork.R; import zjut.soft.finalwork.core.YCApplication; import zjut.soft.finalwork.util.Constant; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.Window; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class GraduationGPAQueryUI extends Activity { private TextView gpaTV; private Button backBtn; private Handler mHandler; private Animation anim; private ImageView refreshIV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.graduation_gpa_query_ui); initComponents(); getGraduationGPA(); } private void initComponents() { mHandler = new Handler(); gpaTV = (TextView) findViewById(R.id.graduation_gpa_query_ui_tv); backBtn = (Button) findViewById(R.id.graduation_gpa_query_ui_btn); refreshIV = (ImageView) findViewById(R.id.gpa_refresh); refreshIV.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { getGraduationGPA(); } }); backBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { GraduationGPAQueryUI.this.finish(); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } }); } private void animateScale() { anim = new AlphaAnimation(1.0f,0.0f); anim.setDuration(1000);//���ö�������ʱ�� /** ���÷��� */ anim.setRepeatCount(3);//�����ظ����� //animation.setFillAfter(boolean);//����ִ������Ƿ�ͣ����ִ�����״̬ // anim.setStartOffset(150);//ִ��ǰ�ĵȴ�ʱ�� gpaTV.setAnimation(anim); anim.startNow(); } @Override public void onResume() { super.onResume(); } private void getGraduationGPA() { gpaTV.setTextColor(Color.GRAY); gpaTV.setText("��ѯ��..."); new Thread(new Runnable() { @Override public void run() { try { HttpGet get = new HttpGet( ((YCApplication) getApplication()) .get("selectedIp") + Constant.gpaQuery); YCApplication app = (YCApplication) getApplication(); HttpResponse response = app.getClient().execute(get); HttpEntity entity = response.getEntity(); BufferedReader br = new BufferedReader( new InputStreamReader(entity.getContent(), Constant.ENCODING)); String temp = null; while ((temp = br.readLine()) != null) { if (temp.contains("lb_jd")) { break; } } if (temp != null) { // <span // id="lb_jd">3.119</span>�������㽭��ҵ��ѧ����ѧʿѧλ�����а취������ѧȫ���γ�ƽ������С��1.5�ߣ���������ѧʿѧλ�� Document doc = Jsoup.parse(temp); final String gpa = doc.select("#lb_jd").html(); mHandler.post(new Runnable() { @Override public void run() { BigDecimal gpaV = new BigDecimal(gpa.trim()); BigDecimal minV = new BigDecimal("1.5"); if(gpaV.compareTo(minV) == 1 || gpaV.compareTo(minV) == 0){ gpaTV.setTextColor(Color.GREEN); gpaTV.setText(gpaV.toString()); animateScale(); } else if(gpaV.compareTo(minV) == -1) { gpaTV.setTextColor(Color.RED); gpaTV.setText(gpaV.toString()); animateScale(); } } }); } else { mHandler.post(new Runnable() { @Override public void run() { gpaTV.setTextColor(Color.RED); gpaTV.setText("�޼�����Ϣ"); } }); } } catch (Exception e) { e.printStackTrace(); } } }).start(); } }