先贴功能类代码:
public class Configururation extends Activity{ //用来存放解析出来的XML文件里的数据的hashmap HashMap<String, String> mHashMap; //存放于XML里固定的数据,解析后的变量名 public String url, stx, datalen, cmd, senderno, psd, pkgno, crc16, Host; private int Port; //获取存放在SRC文件夹下的XML文件的输入流 private InputStream inStream = ParseXmlService.class.getClassLoader().getResourceAsStream("configuration_information.xml"); //实例化ParseXmlService类,用来解析XML文件 private ParseXmlService service = new ParseXmlService(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //用ParseXmlService把XML文件里的数据解析出来存放在hashmap, public String getHost(){ try { //用Pservice.parseXml把XML文件的数据解析出来存放在mHashMap mHashMap = service.parseXml(inStream); } catch (Exception e) { e.printStackTrace(); } //如果mHashMap里面有值,取出相应节点下的数据 if (mHashMap != null) { //服务器存放版本更新文件的地址 //url = mHashMap.get("url"); //服务端IP地址 Host = mHashMap.get("HOST"); } return Host; } //取得端口号 public int getPost(){ try { //用Pservice.parseXml把XML文件的数据解析出来存放在mHashMap mHashMap = service.parseXml(inStream); } catch (Exception e) { e.printStackTrace(); } //如果mHashMap里面有值,取出相应节点下的数据 if (mHashMap != null) { //服务器存放版本更新文件的地址 // url = mHashMap.get("url"); //服务端端口 Port = Integer.parseInt(mHashMap.get("PORT")); } return Port; } }
其实这个类完全可以在业务逻辑处理的时候调用里面的数据,但是为了以后修改了这个类,业务类不需要改变,我又写了一个适配类。专门留出方法供业务类使用:
public class ConfigurationAdapter { Configururation configuration = new Configururation(); public String getHost() { return configuration.getHost(); } public int getPort() { return configuration.getPost(); } }