public void commandAction(Command command, Displayable displayable) { if (command == back) { controller.MainMenu(); } if (command == viewStages) { busNos = busNo.getString().toUpperCase(); fetchStagesData(busNos); } if (command == backToNo) { controller.getDisp().setCurrent(this); } if (command == MapStages) { controller.pointresultCanvas.busStagesPoints.removeAllElements(); for (int mapStages = 0; mapStages < PostionAddress.length - 1; mapStages++) { String pos = PostionAddress[mapStages]; String[] point = StringUtil.split(pos, "||"); System.out.println(point[0] + "== " + point[1]); controller.pointBusStages(point[0], point[1]); } String pos = PostionAddress[Stages.getSelectedIndex()]; String[] point = StringUtil.split(pos, "||"); controller.gotoSpot(point[0], point[1]); controller.ShowPointingCanvas(); } if (command == backToPlaces) { controller.getDisp().setCurrent(Stages); } if (command == showBuses) { controller.showProgressBar(); fetchBusNoData(); } if (command == showStages) { busNos = busesNearMe.getString(busesNearMe.getSelectedIndex()).toUpperCase(); fetchStagesData(busNos); } if (command == viewBusPosition) { String[] data = GetBusPosition("Tt"); String Message = "" + data[0] + "\n" + data[1] + "\n" + data[2]; controller.showBusPosition(Message, data[3], data[4]); } }
private String[] GetBusPosition(String Str) { String uploadWebsite = "http://" + controller.URL_BASE + "/php/busposition?q="; String[] ArrayOfData = null; StreamConnection c = null; InputStream s = null; StringBuffer b = new StringBuffer(); String url = uploadWebsite + Str; System.out.print(url); try { /* c = (StreamConnection)Connector.open(url); s = c.openDataInputStream(); int ch; int k =0; while((ch = s.read()) != -1) { System.out.print((char) ch); b.append((char) ch); } */ String result; // = b.toString(); result = "365E~~RTONO~~09:30:23~~12.21212~~89.23324234"; // System.out.print("in thread---------"); // System.out.print(result); if (!result.equals("")) { ArrayOfData = StringUtil.split(result.toString().trim(), "~~"); } } catch (Exception e) { System.out.print(e); controller.ShowPointingCanvas(); controller.showAlert("Network Error", 3, AlertType.ERROR); } return ArrayOfData; }
private String[] GetDataFromSite() { String uploadWebsite = "http://" + controller.selectedCity.URL + "/cameras/mobile_cam_list.php"; String[] ArrayOfData = null; StreamConnection c = null; InputStream s = null; StringBuffer b = new StringBuffer(); String url = uploadWebsite; System.out.print(url); try { c = (StreamConnection) Connector.open(url); s = c.openDataInputStream(); int ch; int k = 0; while ((ch = s.read()) != -1) { System.out.print((char) ch); b.append((char) ch); } String result = b.toString(); if (!result.equals("")) { ArrayOfData = StringUtil.split(result.toString().trim(), "~~"); if (ArrayOfData.length == 0) { controller.MainMenu(); new Thread() { public void run() { controller.showAlert("Network Error", 0, AlertType.ERROR); } }.start(); } } } catch (Exception e) { System.out.print(e); new Thread() { public void run() { controller.showProgressBar(); } }.start(); // controller.getDisp().setCurrent(this); } return ArrayOfData; }
/** * Takes an array of messages and a 'Screen-width' and returns the same messages, but any string * in that that is wider than 'width' will be split up into 2 or more Strings that will fit on the * screen 'Spliting' up a String is done on the basis of Words, so if a single WORD is longer than * 'width' it will be on a Line on it's own, but that line WILL be WIDER than 'width' * * @param message * @param width the maximum width a string may be before being split up. * @return */ private String[] formatMessage(String[] message, int width) { Vector result = new Vector(message.length); for (int i = 0; i < message.length; i++) { if (DEFAULT_SIMPLE_FONT.stringWidth(message[i]) <= width) { result.addElement(message[i]); } else { String[] splitUp = StringUtil.chopStrings(message[i], " ", AboutScreen.DEFAULT_SIMPLE_FONT, width); for (int j = 0; j < splitUp.length; j++) { result.addElement(splitUp[j]); } } } String[] finalResult = new String[result.size()]; for (int i = 0; i < finalResult.length; i++) { finalResult[i] = (String) result.elementAt(i); } return finalResult; }