快速业务通道

用J2ME进行联网 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
   is.close();       if (c != null)         c.close();      }

一个贷币兑换应用程序

我们将通过一个贷币兑换应用程序来说明迄今为止所概述过的概念,这个应用程序将 会显示美元(U.S. dollar,USD)和英镑(British pound,GBP)之间最新的汇率。这个 应用程序还会显示任意与当前日期和当前时间相关的信息。

这个应用程序的 UI 由一个表单( Form )和一个退出(exit)命令组成,该表单嵌 入了代表一个只显示字符串的 StringItem ,退出命令用于完成调用时让应用程序退出。

一旦启动应用程序,URL 请求便已准备就绪。基本的货币符号被提供给请求。接下来 ,我们需要打开一个移动设备与 Web 服务器间的 URL 连接。打开一个 HttpConnection 并为数据输入建立一个 InputStream 。所获得的数据是一个字符流,这个多字符流附加 在 String 中。产生的 String 代表 HTML 输出。由于我们的移动设备上的浏览器不能显 示 HTML,因而我们将解析 HTML String 来获取货币值以及任何相关的信息。

我们的程序将在 HTML String 中搜索一个特定模式,即 USDGBP 。一旦确定了这个模 式的位置,搜索便查找十进制值。当获得了小数点的位置后,各个数字值便会被检索并以 适当的顺序排列,从而获取货币值。清单 7 说明了如何获取货币值。

清单 7. 检索货币值

      String retVal = "";        int dec = 0;        int index = str.indexOf("USDGBP");        if (index != -1)           str = str.substring(index, str.length());        if ( (( dec = str.indexOf(".")) != -1) && (! (str.endsWith(".")))        && Character.isDigit(str.charAt(dec+1)) ) {   String front = "";   int find = dec-1;   while (Character.isDigit(str.charAt(find)))   {    front += str.charAt(find);    find--;    }   retVal += new StringBuffer(front).reverse().toString();   retVal += ".";   String back = "";   int bind = dec+4;   while (Character.isDigit(str.charAt(bind)))    {    back += str.charAt(bind);    bind--;    }   retVal += new StringBuffer(back).reverse().toString(); }

用J2ME进行联网(4)

时间:2011-04-02 IBM Soma Ghosh

相关信息也是通过查找某些特定的字符串模式来获取的。一旦确定了数据在 HTML String 中的位置,一个偏移量便会被应用来获取日期和时间。这个信息被与原先用于搜 索的字符串模式附加在一起。清单 8 说明了如何获取相关信息。

清单 8. 检索相关信息

// Get the time of Currency Exchange and Related information   int timeIndex = str.indexOf("U.S. Markets Closed.");   String retTime = "";   if (timeIndex != -1)   {   retTime = str.substring(timeIndex-34, timeIndex);   retTime += " U.S. Markets Closed ";   }

清单 9 包括货币兑换应用程序的全部代码。

清单 9. 完整的货币兑换示例

import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; import java.lang.*; import java.util.*; //A first MIDlet with simple text and a few commands. public class CurrencyExchange extends MIDlet         implements CommandListener {   //The exit commands   private Command exitCommand;   //The display for this MIDlet   private Display displ

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号