⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resources.java

📁 J2me应用开发经典例子
💻 JAVA
字号:
// Copyright (c) 2005 Sony Ericsson Mobile Communications AB
//
// This software is provided "AS IS," without a warranty of any kind. 
// ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 
// INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 
// PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. 
//
// THIS SOFTWARE IS COMPLEMENTARY OF JAYWAY AB (www.jayway.se)

package com.ultrapower;

import java.io.InputStream;
import java.util.Hashtable;

import javax.microedition.lcdui.Image;

/**
 * Primitive resource mapper.
 * 
 * @author Peter Andersson
 */
public class Resources
{
  // Text keys
  private static int TXTID = 0;
  // text / page titles
  public static final int TXT_T_BLOGLINESBUDDY     = TXTID++;
  public static final int TXT_T_MYFEEDS      = TXTID++;
  public static final int TXT_T_SETTINGS       = TXTID++;
  public static final int TXT_T_STAT         = TXTID++;
  // text / item labels
  public static final int TXT_I_LOGINBLOGLINES         = TXTID++;
  public static final int TXT_I_LOGINFLICKR     = TXTID++;
  public static final int TXT_I_SETTINGS       = TXTID++;
  public static final int TXT_I_ABOUT          = TXTID++;
  public static final int TXT_I_EXIT           = TXTID++;
  public static final int TXT_I_STAT      = TXTID++;
  public static final int TXT_I_S_SETTINGS_INPUT_USERMAIL        = TXTID++;
  public static final int TXT_I_S_SETTINGS_INPUT_USERPASS        = TXTID++;
  // text / commands
  public static final int TXT_C_OK             = TXTID++;
  public static final int TXT_C_CANCEL         = TXTID++;
  public static final int TXT_C_BACK           = TXTID++;
  public static final int TXT_C_HELP           = TXTID++;
  public static final int TXT_C_REFRESH        = TXTID++;
  
  // text / popup related
  public static final int TXT_YES              = TXTID++;
  public static final int TXT_NO               = TXTID++;
  public static final int TXT_CANCEL           = TXTID++;
  public static final int TXT_OK               = TXTID++;
  // text / helptexts
  public static final int TXT_H_PL_INPUT_USERMAIL   = TXTID++;
  public static final int TXT_H_PL_INPUT_USERPASS     = TXTID++;
  public static final int TXT_H_STAT         = TXTID++;
  public static final int TXT_H_SETTINGS       = TXTID++;
  public static final int TXT_H_S_INPUTMAIL        = TXTID++;
  public static final int TXT_H_S_INPUTPASS        = TXTID++;
  // text / other stuff
  public static final int TXT_ABOUT            = TXTID++;
  // 要调用的web service的地址以及其他参数
  public static final int TXT_P_WS_NAMESPACE  	   = TXTID++;
  public static final int TXT_P_WS_METHOD_LISTSUBS  = TXTID++;
  public static final int TXT_P_WS_METHOD_GETITEMS  = TXTID++;
  
  /*
   * 设置中,是否走cmwap代理的文本提示
   */
  public static final int TXT_I_S_PROXY             = TXTID++;
  public static final int TXT_H_S_PROXY             = TXTID++;

  // Image keys
  private static final int OFFSET_IMG          = 100;
  public static final int IMG_BACKGROUND       = 100;
  public static final int IMG_PROXY_ON         = 101;
  public static final int IMG_PROXY_OFF        = 102;
  
  // Resource (sound) keys
  private static final int OFFSET_SND          = 200;
  public static final int SND_JAZZY            = 203;
  
  // Text data
  protected static final char[][] TEXTBUF = {
    "Bloglines手机伴侣".toCharArray(),
    "My Feeds".toCharArray(),
    "设置".toCharArray(),
    "统计".toCharArray(),

    "登录Bloglines".toCharArray(),
    "登录Flickr".toCharArray(),
    "设置".toCharArray(),
    "关于".toCharArray(),
    "退出".toCharArray(),
    "统计信息".toCharArray(),
    "Bloglines用户名".toCharArray(),
    "Bloglines登录密码".toCharArray(),
    
    "确认".toCharArray(),
    "取消".toCharArray(),
    "返回".toCharArray(),
    "帮助".toCharArray(),
    "刷新".toCharArray(),

    "YES".toCharArray(),
    "NO".toCharArray(),
    "CANCEL".toCharArray(),
    "确认".toCharArray(),
    
    ("请在上面的编辑框中输入您的Bloglines账户的电子邮件名,如user@example.com。\n\n").toCharArray(),
    ("请在上面的编辑框中输入您的Bloglines账户的登录密码。\n\n").toCharArray(),
    ("展示您登录并浏览的统计信息。").toCharArray(),
    ("设置您的Bloglines用户名和密码以及其他个性化设置。").toCharArray(),
    ("在这里请您输入Bloglines的账户对应的电子邮件地址。").toCharArray(),
    ("在这里请您输入Bloglines的账户对应的登录密码。").toCharArray(),

    ("Copyright 2005 郑昀 程序以及代码受GPL协议保护。\n\n" +
        "感谢CCTV MTV\n" +
        "感谢我的爸爸妈妈\n" +
        "感谢我的妻子\n" +
        "感谢Java感谢Eclipse感谢Nokia感谢Bloglines\n\n" +
        "2005年12月27日于北京\n").toCharArray(),
        
		// 要调用的web service的地址以及其他参数
        //"http://localhost:8080/flickrBuddy/services/Buddycast".toCharArray(),
		"http://219.238.239.166:8088/flickrBuddy/services/Buddycast".toCharArray(),
        "listsubs".toCharArray(),
        "getitems".toCharArray(),
        
        /*
         * 设置中,是否走cmwap代理的文本提示
         */
        "用cmwap代理".toCharArray(),
        ("默认使用cmwap代理,您可以在选择如何接入互联网时选择移动梦网。\n" +
        "如果你不使用代理,请选择接入点为GPRS连接互联网,这样资费可能较贵。\n" +
        "设置完之后有可能需要重新启动本程序才能生效。").toCharArray(),
  };
  
  /** Image cache */
  protected static Hashtable m_images = new Hashtable();
  
  // Image resource names
  protected static final String[] IMGNAME_MAP ={
    "background.png",
    "black.png",
    "white.png",
  };
  
  // Resource (audio) names
  protected static final String[] RESOURCE_MAP = {
    "bluegammon.mid", 
  };
  
  /**
   * Returns specified resource as stream
   * @param resourceId  The id of the resource.
   * @return            An inputstream to the resource.
   */
  public static InputStream getResource(int resourceId)
  {
    resourceId -= OFFSET_SND;
	String sResource = "/res/music/" + RESOURCE_MAP[resourceId];
	  
	  /*
	   * 必须使用Thread.currentThread().getClass(),因为调用者是静态的,
	   * 这样如果还是使用Resources.class.getResourceAsStream
	   * 会导致在Nokia S60真机上发生“91 java.lang.error”异常
	   * !特此提醒!
	   */
    return Thread.currentThread().getClass().getResourceAsStream(
			  sResource);
	
	/*
	   * 注意原来这里写的是"/" +,始终无法加载;
	   * 所以我改为了"/res/" + 
	   */
    //return Resources.class.getResourceAsStream("/res/music/" + RESOURCE_MAP[resourceId]);
  }
  
  /**
   * Returns specified text as character array.
   * @param id  The id of the text.
   * @return    A text as char array.
   */
  public static char[] getChars(int id)
  {
    return TEXTBUF[id];
  }
  
  /**
   * Returns specified text as string.
   * @param id  The id of the text.
   * @return    A text as String.
   */  
  public static String getString(int id)
  {
    return new String(getChars(id));
  }
  
  /**
   * Returns specified image.
   * @param id  The id of the image.
   * @return    An image.
   */
  public static synchronized Image getImage(int id)
  {
    id -= OFFSET_IMG;
    Image img = (Image)m_images.get(new Integer(id));
    if (img == null)
    {
      try
      {
		  /*
		   * 注意原来这里写的是"/" +,始终无法加载图像;
		   * 所以我改为了"/res/" + 
		   */
        img = Image.createImage("/res/icons/" + IMGNAME_MAP[id]);
		System.out.println("get image:" + IMGNAME_MAP[id]);
        m_images.put(new Integer(id), img);
      }
      catch (Exception e)
      {
        System.out.println("Error getting resource img " + IMGNAME_MAP[id]
           + ">>" + e.getMessage());
        e.printStackTrace();
      }
    }
    return img;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -