private ProgressDialog progressDialog; private Handler handler = new Handler(); Runnable runnableUi = new Runnable() { @Override public void run() { // 更新界面 progressDialog = ProgressDialog.show(AlarmDimActivity.this, null,"正在加载信息,请稍后...", true, true); try { path=URLUtil.FIND_ERR_NUMBER; new QueryErrNumber().execute(path); } catch (Exception e) { } handler.postDelayed(runnableUi, 1000*900); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.alarmdim); UI(); Event(); handler.post(runnableUi); }
class QueryWNetErr extends AsyncTask<String, Void, List<HingErrWaringDao>> { @Override protected void onPostExecute(final List<HingErrWaringDao> hingErrWaringDaos) { super.onPostExecute(hingErrWaringDaos); progressDialog.dismiss(); if (null == hingErrWaringDaos || hingErrWaringDaos.size() == 0) { Toast toast = Toast.makeText(getApplicationContext(), "暂无WCDMA性能数据!", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); return; } contentDefileList = new ArrayList<Map<String, String>>(); Map<String, String> contentDefile; for (HingErrWaringDao hingErrWaringDao : hingErrWaringDaos) { contentDefile = new HashMap<String, String>(); if ("CRITICAL".equals(hingErrWaringDao.getStr_org_severity())){ contentDefile.put(TITLE, hingErrWaringDao.getTitle()); contentDefile.put(ALARM_NODE, hingErrWaringDao.getAlarm_node()); contentDefile.put(ALARM_TEXT0, hingErrWaringDao.getAlarm_text0()); contentDefile.put(ALARM_TEXT1, hingErrWaringDao.getAlarm_text1()); contentDefile.put(OCCUR_TIME, hingErrWaringDao.getOccur_time()); contentDefile.put(STR_ORG_SEVERITY, hingErrWaringDao.getStr_org_severity()); contentDefileList.add(contentDefile); } } isCurrentItems = new boolean[contentDefileList.size()]; for (int i = 0; i < isCurrentItems.length; i++) { isCurrentItems[i] = false; } adapter = new FlexListAdapter(); setListAdapter(adapter); } @Override protected List<HingErrWaringDao> doInBackground(String... params) { List<HingErrWaringDao> otherposition = null; try { URL url = new URL(params[0]); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(URLUtil.CONNECT_TIME * 1000); conn.setReadTimeout(URLUtil.CONNECT_TIME * 1000); conn.connect(); InputStream inStream = conn.getInputStream(); Log.e("userSen", inStream.toString()); otherposition = new HingErrWaringService() .getWNetErr(inStream); inStream.close(); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } return otherposition; } }package com.easecom.zhwg.ctrl.scene.rail.warning; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import com.easecom.zhwg.ctrl.scene.propertiesview.WCDMAViewDao; public class HingErrWaringService { public List<HingErrWaringDao> getWNetErr(InputStream inStream) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); NoteReportHandler handler = new NoteReportHandler(); parser.parse(inStream, handler); return handler.getUserReports(); } private final class NoteReportHandler extends DefaultHandler { private List<HingErrWaringDao> hingErrWaringDaos; private HingErrWaringDao hingErrWaringDao = null; private String tag = null; public List<HingErrWaringDao> getUserReports() { return hingErrWaringDaos; } @Override public void startDocument() throws SAXException { hingErrWaringDaos = new ArrayList<HingErrWaringDao>(); } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if ("resultInfo".equals(qName)) { hingErrWaringDao = new HingErrWaringDao(); } tag = qName; } @Override public void characters(char[] ch, int start, int length) throws SAXException { if (tag != null) { String data = new String(ch, start, length); if ("TITLE".equals(tag)) { hingErrWaringDao.setTitle(data); // Log.e("user time ", "date = " + data); } else if ("ALARM_NODE".equals(tag)) { hingErrWaringDao.setAlarm_node(data); } else if ("ALARM_TEXT0".equals(tag)) { hingErrWaringDao.setAlarm_text0(data); } else if ("ALARM_TEXT1".equals(tag)) { hingErrWaringDao.setAlarm_text1(data); } else if ("OCCUR_TIME".equals(tag)) { hingErrWaringDao.setOccur_time(data); } else if ("STR_ORG_SEVERITY".equals(tag)) { hingErrWaringDao.setStr_org_severity(data); } } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { if ("resultInfo".equals(qName)) { hingErrWaringDaos.add(hingErrWaringDao); hingErrWaringDao = null; } tag = null; } } }
package com.easecom.zhwg.ctrl.scene.rail.warning; public class HingErrWaringDao { // 标题 private String title; private String alarm_node; private String alarm_text0; private String alarm_text1; // 发生时间 private String occur_time; // 告警类别 private String str_org_severity; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAlarm_node() { return alarm_node; } public void setAlarm_node(String alarm_node) { this.alarm_node = alarm_node; } public String getAlarm_text0() { return alarm_text0; } public void setAlarm_text0(String alarm_text0) { this.alarm_text0 = alarm_text0; } public String getAlarm_text1() { return alarm_text1; } public void setAlarm_text1(String alarm_text1) { this.alarm_text1 = alarm_text1; } public String getOccur_time() { return occur_time; } public void setOccur_time(String occur_time) { this.occur_time = occur_time; } public String getStr_org_severity() { return str_org_severity; } public void setStr_org_severity(String str_org_severity) { this.str_org_severity = str_org_severity; } }