世博会介绍手机软件---红舞姬


经过两天,总算是有了一个稳定的版本,今晚就前往上海,去世博会玩。并给其起一个名字红舞姬(来源于前两天看的深海探奇,我们两个都喜欢那个西班牙红舞姬)。
现把程序先发上来。
列表
世博会介绍手机软件---红舞姬
内容
世博会介绍手机软件---红舞姬
下面这个类是列表呈现页面。
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ruyuntao;

import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*; //提供了一个命令类
import javax.microedition.rms.RecordStoreException;
/**
 * @author Administrator
 */
public class expo extends MIDlet implements CommandListener {

    private List mainList;
    Image[] imageArray;
    private Command exitCommand;
    private Display display;
    expoFile m;

    String stringArray[] = {
        "**主题馆",
        "主题馆",
        "城市人馆",
        "城市生命馆",
        "城市地球馆",
        "城市足迹馆",
        "城市未来馆",
        "**A区",
        "中国国家馆",
        "土库曼斯坦馆",
        "日本馆",
        "**中国省区市联合馆",
        "北京馆",
        "天津馆",
        "河北馆",
        "山西馆",
        "内蒙古馆",
        "辽宁馆",
        "吉林馆",
        "黑龙江馆 ",
        "江苏馆",
        "浙江馆 ",
        "安徽馆",
        "福建馆",
        "江西馆 ",
        "山东馆 ",
        "河南馆 ",
        "湖北馆",
        "湖南馆",
        "广东馆",
        "广西馆",
        "海南馆 ",
        "重庆馆",
        "四川馆",
        "贵州馆",
        "云南馆 ",
        "西藏馆",
        "陕西馆 ",
        "甘肃馆",
        "青海馆",
        "宁夏馆",
        "新疆馆 ",
        "上海馆",
        "**A区2",
        "乌兹别克斯坦馆 ",
        "巴基斯坦馆 ",
        "以色列馆",
        "卡塔尔馆 ",
        "印度馆 ",
        "尼泊尔馆 ",
        "台湾馆 ",
        "**亚洲联合馆一",
        "马尔代夫馆 ",
        "东帝汶馆 ",
        "吉尔吉斯斯坦馆",
        "孟加拉国馆 ",
        "塔吉克斯坦馆",
        "蒙古馆",
        "**亚洲联合馆二",
        "也门馆 ",
        "巴林馆 ",
        "巴勒斯坦馆 ",
        "约旦馆",
        "阿富汗馆",
        "叙利亚馆 ",
        "**亚洲联合馆三",
        "老挝馆",
        "伊拉克馆 ",
        "缅甸馆 ",
        "**A区3",
        "伊朗馆 ",
        "沙特阿拉伯馆",
        "阿曼馆",
        "阿联酋馆",
        "哈萨克斯坦馆",
        "香港馆 ",
        "越南馆",
        "斯里兰卡馆",
        "韩国馆",
        "朝鲜馆 ",
        "黎巴嫩馆",
        "摩洛哥馆",
        "澳门馆 ",
        "**B片区",
        "马来西亚馆 ",
        "太平洋联合馆",
        "文莱馆 ",
        "公众参与馆",
        "世界气象馆",
        "世界贸易中心协会馆",
        "生命阳光馆 ",
        "印度尼西亚馆 ",
        "红十字会红新月会会馆",
        "**国际组织联合馆 ",
        "上海合作组织馆 ",
        "公共交通国际联会馆",
        "世界水理事会馆 ",
        "世界自然基金会馆",
        "世界城市和地方政府联合组织馆 ",
        "东南亚国家联盟馆 ",
        "东南非共同市场馆",
        "全球环境基金馆 ",
        "阿拉伯国家联盟馆 ",
        "国际竹藤组织馆 ",
        "国际博物馆协会馆 ",
        "法语国家商务论坛馆",
        "博鳌亚洲论坛馆",
        "**B片区2",
        "国际信息发展网馆",
        "柬埔寨馆",
        "泰国馆",
        "菲律宾馆 ",
        "联合国联合馆",
        "新加坡馆",
        "新西兰馆",
        "澳大利亚馆",
        "**C片区",
        "土耳其馆",
        "比利时-欧盟馆",
        "**中南美洲联合馆",
        "厄瓜多尔馆",
        "乌拉圭馆",
        "巴拉圭馆",
        "巴拿马馆",
        "尼加拉瓜馆",
        "危地马拉馆",
        "多米尼加馆 ",
        "玻利维亚馆",
        "洪都拉斯馆",
        "哥斯达黎加馆",
        "萨尔瓦多馆",
        "**C片区2",
        "丹麦馆 ",
        "乌克兰馆",
        "巴西馆",
        "古巴馆",
        "卢森堡馆",
        "白俄罗斯馆",
        "立陶宛馆",
        "尼日利亚馆 ",
        "加拿大馆",
        "**加勒比共同体联合馆  ",
        "牙买加馆 ",
        "巴巴多斯馆 ",
        "巴哈马馆 ",
        "加勒比开发银行馆 ",
        "加勒比共同体馆",
        "圣文森特和格林纳丁斯馆 ",
        "圣卢西亚馆",
        "圣基茨和尼维斯馆",
        "圭亚那馆 ",
        "多米尼克馆 ",
        "安提瓜和巴布达馆",
        "苏里南馆 ",
        "伯利兹馆",
        "格林纳达馆",
        "特立尼达和多巴哥馆 ",
        "海地馆",
        "**C片区3",
        "西班牙馆",
        "匈牙利馆",
        "冰岛馆",
        "安哥拉馆 ",
        "芬兰馆 ",
        "克罗地亚馆 ",
        "利比亚馆 ",
        "希腊馆 ",
        "阿尔及利亚馆 ",
        "阿根廷馆",
        "拉脱维亚馆",
        "英国馆",
        "**欧洲联合馆一 ",
        "马耳他馆 ",
        "圣马力诺馆 ",
        "列支敦士登馆",
        "塞浦路斯馆 ",
        "**欧洲联合馆二",
        "亚美尼亚馆 ",
        "阿尔巴尼亚馆 ",
        "阿塞拜疆馆 ",
        "保加利亚馆 ",
        "前南斯拉夫马其顿共和国馆",
        "格鲁吉亚馆 ",
        "黑山馆",
        "摩尔多瓦馆",
        "**非洲联合馆",
        "几内亚馆 ",
        "几内亚比绍馆",
        "马达加斯加馆",
        "马里馆",
        "马拉维馆",
        "厄立特里亚馆 ",
        "中非馆",
        "贝宁馆 ",
        "冈比亚馆",
        "毛里求斯馆",
        "毛里塔尼亚馆 ",
        "乌干达馆",
        "布隆迪馆",
        "卢旺达馆 ",
        "乍得馆 ",
        "尼日尔馆",
        "加纳馆",
        "加蓬馆",
        "吉布提馆",
        "刚果(布)馆 ",
        "刚果(金)馆",
        "多哥馆",
        "赤道几内亚馆 ",
        "苏丹馆 ",
        "利比里亚馆",
        "佛得角馆",
        "纳米比亚馆 ",
        "坦桑尼亚馆",
        "非盟馆",
        "肯尼亚馆",
        "科特迪瓦馆",
        "科摩罗馆 ",
        "津巴布韦馆",
        "埃塞俄比亚馆",
        "莱索托馆 ",
        "莫桑比克馆 ",
        "索马里馆",
        "博茨瓦纳馆 ",
        "喀麦隆馆 ",
        "塞内加尔馆",
        "塞舌尔馆 ",
        "塞拉利昂馆 ",
        "赞比亚馆",
        "**欧洲联合馆三",
        "罗马尼亚馆",
        "委内瑞拉馆 ",
        "法国馆 ",
        "波兰馆 ",
        "波黑馆 ",
        "挪威馆 ",
        "南非馆",
        "俄罗斯馆 ",
        "美国馆 ",
        "突尼斯馆 ",
        "埃及馆 ",
        "荷兰馆 ",
        "哥伦比亚馆",
        "秘鲁馆 ",
        "爱尔兰馆 ",
        "爱沙尼亚馆 ",
        "捷克馆 ",
        "斯洛文尼亚馆 ",
        "斯洛伐克馆 ",
        "葡萄牙馆 ",
        "智利馆 ",
        "奥地利馆 ",
        "瑞士馆",
        "瑞典馆 ",
        "意大利馆 ",
        "塞尔维亚馆 ",
        "墨西哥馆 ",
        "德国馆 ",
        "摩纳哥馆",
        "**D片区   ",
        "上海企业联合馆 ",
        "太空家园馆 ",
        "日本产业馆 ",
        "中国人保馆 ",
        "中国铁路馆 ",
        "可口可乐馆 ",
        "石油馆 ",
        "国家电网馆 ",
        "思科馆 ",
        "韩国企业联合馆 ",
        "震旦馆",
        "**E片区 ",
        "万科馆",
        "上汽集团-通用汽车馆 ",
        "中国航空馆 ",
        "中国船舶馆 ",
        "民营企业联合馆 ",
        "远大馆 ",
        "信息通信馆",
        "**城市最佳实践区建设案例(北部) ",
        "宁波案例馆 ",
        "西安案例馆 ",
        "麦加案例馆 ",
        "温哥华案例馆 ",
        "上海案例馆 ",
        "马德里案例馆 ",
        "伦敦案例馆 ",
        "汉堡案例馆 ",
        "阿尔萨斯案例馆",
        "罗纳阿尔卑斯案例馆 ",
        "澳门案例馆 ",
        "成都案例馆 ",
        "欧登塞案例馆 ",
        "罗纳阿尔卑斯灯光案例",
        "城市最佳实践区展馆案例(中部)",
        "城市最佳实践区其他展示案例(南部)",
        "服务支持"
    };
    String pathNameArr[] = {
        "..",
        "zt",
        "csrg",
        "cssmg",
        "csdqg",
        "cszjg",
        "cswlg",
        "..",
        "zggjg",
        "tkmstg",
        "rbg",
        "..",
        "bjg",
        "tjg",
        "hbg",
        "sxg",
        "nmg",
        "lng",
        "jlg",
        "hljg",
        "jsg",
        "zjg",
        "ahg",
        "fjg",
        "jxg",
        "xdg",
        "hng",
        "hubg",
        "hung",
        "gdg",
        "gxg",
        "haing",
        "cqg",
        "scg",
        "gzg",
        "yng",
        "xzg",
        "sxig",
        "gsg",
        "qhg",
        "nxg",
        "xjg",
        "shg",
        "..",
        "wzbkst",
        "bjst",
        "ysl",
        "kte",
        "yd",
        "nbe",
        "tw",
        "..",
        "medf",
        "ddw",
        "jejsst",
        "mjlg",
        "tjkst",
        "mgw",
        "..",
        "ym",
        "bl",
        "blst",
        "yud",
        "afh",
        "xly",
        "..",
        "lwg",
        "ylkg",
        "mdg",
        "..",
        "ylg",
        "stalb",
        "am",
        "alq",
        "hskst",
        "xg",
        "yueng",
        "slnk",
        "hg",
        "cx",
        "lbn",
        "mlg",
        "aom",
        "..",
        "mlxy",
        "tpylhg",
        "wlg",
        "gzcyg",
        "sjqxg",
        "sjmyzx",
        "smyg",
        "ydnxx",
        "hszhxyg",
        "..",
        "shhzzz",
        "ggjtgjlh",
        "sjslsh",
        "sjzrjjh",
        "sjcsdfzf",
        "dnygjlm",
        "..",
        "qqhjjj",
        "albgjlm",
        "gjztzz",
        "gjbwgxh",
        "fygjswlt",
        "bayzlt",
        "..",
        "gjxxfz",
        "jpzg",
        "tgg",
        "flbg",
        "lhglhg",
        "xjpg",
        "xxlg",
        "aodlyg",
        "..",
        "teq",
        "bls",
        "..",
        "egde",
        "wlgg",
        "bng",
        "bnmg",
        "njlg",
        "wdmlg",
        "mjnj",
        "blwy",
        "hdls",
        "gsdlj",
        "sewd",
        "..",
        "dmg",
        "wkl",
        "bx",
        "gb",
        "lsb",
        "bels",
        "ltw",
        "nrly",
        "jld",
        "..",
        "ymj",
        "bbds",
        "bhm",
        "jlbkfyh",
        "jlbgtt",
        "swstglnds",
        "slx",
        "sjsnws",
        "gyn",
        "dmnk",
        "atgbbd",
        "sln",
        "blc",
        "glnd",
        "tlnddbg",
        "hd",
        "..",
        "xby",
        "xyl",
        "bd",
        "agl",
        "flg",
        "kldy",
        "lby",
        "xlg",
        "aejly",
        "agt",
        "ltwy",
        "yg",
        "..",
        "metg",
        "smlr",
        "lzdsd",
        "spls",
        "..",
        "ymny",
        "aebny",
        "asbj",
        "bjly",
        "lslfm",
        "gljy",
        "hs",
        "medw",
        "..",
        "jny",
        "jnybs",
        "mdjsj",
        "ml",
        "mlw",
        "eltly",
        "zf",
        "bn",
        "gby",
        "mlqs",
        "mltny",
        "wgd",
        "bld",
        "lwd",
        "zdg",
        "nre",
        "jn",
        "jp",
        "jbt",
        "ggb",
        "ggj",
        "dg",
        "cdjny",
        "sd",
        "lbly",
        "fdj",
        "nmby",
        "tsny",
        "fm",
        "kny",
        "ktdw",
        "kmlg",
        "jbbw",
        "eseby",
        "lst",
        "msbk",
        "sml",
        "bcwl",
        "kml",
        "snje",
        "sse",
        "slly",
        "zby",
        "..",
        "lmny",
        "wnrl",
        "fg",
        "blg",
        "bh",
        "lw",
        "nf",
        "els",
        "mg",
        "tns",
        "ej",
        "hn",
        "elby",
        "mlgg",
        "eel",
        "esny",
        "jk",
        "slwny",
        "slfk",
        "pty",
        "zl",
        "adl",
        "ss",
        "sdg",
        "ydl",
        "sewy",
        "mxg",
        "dgg",
        "eng",
        "..",
        "shqylh",
        "tkjy",
        "rbcyg",
        "zgrbg",
        "zgtl",
        "kkkl",
        "sy",
        "gjdw",
        "sk",
        "hgqylh",
        "zd",
        "..",
        "wkg",
        "sqty",
        "zghk",
        "zgcb",
        "myqy",
        "ydg",
        "xxtx",
        "..",
        "nbalg",
        "xaalg",
        "mjalg",
        "wghalg",
        "shalg",
        "mdlalg",
        "ldalg",
        "hbalg",
        "aessalg",
        "lnaebsalg",
        "amalg",
        "cdalg",
        "odsnalg",
        "lnaebsdgal",
        "cszjsjz",
        "cszjsjn",
        "server"
    };

    public expo() //类的构造函数
    {
        int length = stringArray.length;
        String titleArray[] = new String[length];
        try {
            Image icon = Image.createImage("/h.png");

            imageArray = new Image[length];
            for (int i = 0; i < length; i++) {
                imageArray[i] = icon;
                String tem = stringArray[i];
                if (tem.length() > 6) {
                    tem = tem.substring(0, 6);
                }
                titleArray[i] = tem;
            }
        } catch (java.io.IOException err) {
            imageArray = null;
        }
        Font font = Font.getFont(Font.FACE_SYSTEM,
                Font.STYLE_PLAIN, Font.SIZE_LARGE);
        mainList = new List("世博会简介", Choice.IMPLICIT, titleArray, imageArray);
        int size = mainList.size();
        for (int i = 0; i < size; i++) {
            mainList.setFont(i, font);
        }
        exitCommand = new Command("退出", Command.EXIT, 1);
        mainList.addCommand(exitCommand);
        mainList.setCommandListener(this);
        display = Display.getDisplay(this);
    }

    protected void startApp() throws MIDletStateChangeException //负责程序的初始化功能
    {
        display.setCurrent(mainList);

    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException //程序推出时调用的函数
    {
    }

    protected void pauseApp() //暂停状态时调用的函数
    {
    }

    public void commandAction(Command c, Displayable d) {
        if (c == exitCommand) {
            try {
                destroyApp(false);
            } catch (MIDletStateChangeException ex) {
                ex.printStackTrace();
            }
            notifyDestroyed();
        } else {
            String name = pathNameArr[mainList.getSelectedIndex()];
            if (!"..".equals(name)) {
                try {
                    m = new expoFile(display, mainList, name, stringArray[mainList.getSelectedIndex()]);
                    Display.getDisplay(this).setCurrent(m);
                } catch (RecordStoreException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}


下面这个类是内容显示页面
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ruyuntao;

import java.io.IOException;
import java.io.InputStreamReader;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;

/**
 *
 * @author Administrator
 */
public class expoFile extends Form implements CommandListener {

    private Display display;
    private Displayable displayable;
    private Command cmdBack;
    private Font font;
    public expoFile(Display d, Displayable p, String name,String mpName) throws RecordStoreException,
            RecordStoreFullException, RecordStoreNotFoundException {
        super("世博会");
        display = d;
        displayable = p;
        font = Font.getFont(Font.FACE_SYSTEM,
                Font.STYLE_BOLD, Font.SIZE_LARGE);
        String path = "/text/" + name;
        if(!mpName.equals("服务支持")){
            StringItem item = new StringItem("","场馆:"+mpName);
            item.setFont(font);
            this.append(item);
        }
        font = Font.getFont(Font.FACE_SYSTEM,
                Font.STYLE_PLAIN, Font.SIZE_LARGE);
        try {
            readFile(path);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        cmdBack = new Command("返回", Command.BACK, 1);
        this.addCommand(cmdBack);
        this.setCommandListener(this);
    }

    private void readFile(String filename) throws IOException {
        InputStreamReader reader = new InputStreamReader(
                getClass().getResourceAsStream(filename));
        String line = null;
        while ((line = readLine(reader)) != null) {
            StringItem item = new StringItem("",line);
            item.setFont(font);
            this.append(item);
        }
        reader.close();
    }

    private String readLine(InputStreamReader reader) throws IOException {
        int readChar = reader.read();
        if (readChar == -1) {
            return null;
        }
        StringBuffer string = new StringBuffer("");
        while (readChar != -1 && readChar != '\n') {
            if (readChar != '\r') {
                string.append((char) readChar);
            }
            readChar = reader.read();
        }
        return new String(string.toString().getBytes(), "UTF-8");
    }

    public void commandAction(Command c, Displayable d) {
        try {
            if (c == cmdBack) {
                display.setCurrent(displayable);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}


用了两天写出来的,大部分时间用在了从世博会网站上拷贝文件,里面的代码很多事借鉴网友的无私奉献。现在将我的成果也发布出来。
不过我目前只在诺基亚s40和s60两种类型手机上测试过,希望大家指出哪里不足,也希望能够给需要到世博会去的同仁们带来帮助。
附件里面expo.jar包里面是编译好的,直接拷贝到存储卡里面就可以运行。

你可能感兴趣的:(C++,c,C#,软件测试,阿里巴巴)