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

📄 deviceinfos.java.svn-base

📁 测试工具
💻 SVN-BASE
字号:
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.microedition.midlet.*;
import java.io.*;
import java.util.*;
import java.lang.*;

public class DeviceInfos implements DeviceCoast
{
	
	  public static final int FONT_SMALL = 0;
	  public static final int FONT_MEDIUM = 1;
	  public static final int FONT_LARGE = 2;
	  
	  public static final int SMLKEY_0 = 0;

	public static final int SMLKEY_1 = 1;

	public static final int SMLKEY_2 = 2;

	public static final int SMLKEY_3 = 3;

	public static final int SMLKEY_4 = 4;

	public static final int SMLKEY_5 = 5;

	public static final int SMLKEY_6 = 6;

	public static final int SMLKEY_7 = 7;

	public static final int SMLKEY_8 = 8;

	public static final int SMLKEY_9 = 9;

	public static final int SMLKEY_D = 10;

	public static final int SMLKEY_U = 11;

	public static final int SMLKEY_L = 12;

	public static final int SMLKEY_R = 13;

	public static final int SMLKEY_A = 14;

	public static final int SMLKEY_LS = 15;

	public static final int SMLKEY_RS = 16;

	public static final int SMLKEY_STAR = 17;

	public static final int SMLKEY_POUND = 18;

	public static final int SMLKEY_C = 19;

	public static final int SMLKEY_ANY = 20;

	public static final int SMLKEY_MAX = 21;
	
	private static DeviceInfos devInfos;
	  
	private DeviceInfos()
	{
		    
	}
	  
	public static DeviceInfos getInstance()
	{
		   if ( devInfos ==  null )
		      devInfos = new DeviceInfos();
		   return devInfos;
	}
	  //设备参数定义
	  int fullScreenSizeW;
	  int fullScreenSizeH;
	  int canvasSizeW;
	  int canvasSizeH;
	  
	  int[][] fontSystem = new int[3][3];
	  
	  int[][] fontMonoSpace = new int[3][3];
	  
	  int[][] fontProportional = new int[3][3];
	  
	  
	  
	  public int[] keys = new int[SMLKEY_MAX];
	  
	  //内部参数部分
	  int[] faces = { Font.FACE_SYSTEM,Font.FACE_MONOSPACE,Font.FACE_PROPORTIONAL };
    int[] sizes = { Font.SIZE_LARGE,Font.SIZE_MEDIUM,Font.SIZE_SMALL };
    String[] faceNames = {"System","MonoSpace","Proportional"};
    String[] sizeNames = {"large","medium","small"};
    
   
    int[] getFontWidth(int face,int style,int size )
    {
    	  int[] result = new int[3];
    	  Font font = Font.getFont(face,style,size );
    	  result[0] = font.charWidth('我');
    	  result[1] = font.charWidth('a' );
    	  result[2] = font.getHeight();
    	  
    	  return result;
    }
    
    
    private void getFontParams()
    {
    		 			   	  
		   	  for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   int[] size = getFontWidth( faces[0],Font.STYLE_PLAIN,sizes[j] );
		   	  	   fontSystem[j] = size;
		   	  	   
		   	  }
		   	  
		   	  for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   int[] size = getFontWidth( faces[1],Font.STYLE_PLAIN,sizes[j] );
		   	  	   fontMonoSpace[j] = size;
		   	  	   
		   	  }
		   	  
		   	  for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   int[] size = getFontWidth( faces[2],Font.STYLE_PLAIN,sizes[j] );
		   	  	   fontProportional[j] = size;
		   	  	   
		   	  }
		   	  
					 			   
    }
    
    private void getCanvasParams()
    {
    	 TestCanvas canvas = new TestCanvas(null,true);
    	 fullScreenSizeW = canvas.getWidth();
    	 fullScreenSizeH = canvas.getHeight();
    	 canvas = new TestCanvas(null,false);
    	 canvasSizeW = canvas.getWidth();
    	 canvasSizeH = canvas.getHeight();
    	 
		}    
		
		public String toString()
		{
			   getCanvasParams();
			   StringBuffer buf = new StringBuffer();
			   buf.append( "FullScreen(W*H):" );
			   buf.append( ""+ fullScreenSizeW + "X" + fullScreenSizeH );
			   buf.append( "\n" );
			   buf.append( "CanvasSize(W*H):" );
			   buf.append( ""+canvasSizeW + "X" + canvasSizeH );
			   buf.append( "\n" );
			   getFontParams();
			   buf.append( faceNames[0] + ":\n" );
			   
			   for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   buf.append( sizeNames[j] + "(cw*ew*h):" + fontSystem[j][0] );
		   	  	   buf.append( "*" + fontSystem[j][1] );
		   	  	   buf.append( "*" + fontSystem[j][2] );
		   	  	   buf.append( "\n" );
		   	  }
		   	  
		   	  buf.append( faceNames[1] + ":\n" );
		   	  for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   buf.append( sizeNames[j] + "(cw*ew*h):" + fontMonoSpace[j][0] );
		   	  	   buf.append( "*" + fontMonoSpace[j][1] );
		   	  	   buf.append( "*" + fontMonoSpace[j][2] );
		   	  	   buf.append( "\n" );
		   	  	   
		   	  }
		   	  buf.append( faceNames[2] + ":\n" );
		   	  for( int j=0;j<sizes.length;j++ )
		   	  {
		   	  	   buf.append( sizeNames[j] + "(cw*ew*h):" + fontProportional[j][0] );
		   	  	   buf.append( "*" + fontProportional[j][1] );
		   	  	   buf.append( "*" + fontProportional[j][2] );
		   	  	   buf.append( "\n" );
		   	  }
			     
			    buf.append( "键值:\n" );
			    buf.append( "上方向键:" + keys[SMLKEY_U] + "\n" );
			    buf.append( "下方向键:" + keys[SMLKEY_D] + "\n" );
			    buf.append( "左方向键:" + keys[SMLKEY_L] + "\n" );
			    buf.append( "右方向键:" + keys[SMLKEY_R] + "\n" );
			    buf.append( "确认键:" + keys[SMLKEY_A] + "\n" );
			    buf.append( "左软键:" + keys[SMLKEY_LS] + "\n" );
			    buf.append( "右软键:" + keys[SMLKEY_RS] + "\n" );
			    buf.append( "删除键:" + keys[SMLKEY_C] + "\n" );
			    buf.append( "系统信息:\n" );
			    buf.append( "总内存: " + Runtime.getRuntime().totalMemory() );
			    return buf.toString();
			    
			    
		}
		
		
		
		 String[][] font = {{FONT_SYS_LARGE,FONT_SYS_MEDIUM,FONT_SYS_SMALL},
		    		{FONT_MONO_LARGE,FONT_MONO_MEDIUM,FONT_MONO_SMALL},
		    		{FONT_PROP_LARGE,FONT_PROP_MEDIUM,FONT_PROP_SMALL}};
		    
		    private final static int FONT_SIZE_LARGE = 0;
		    private final static int FONT_SIZE_MEDIUM = 1;
		    private final static int FONT_SIZE_SMALL  = 2;
		    
		    private final static int FACE_SYS = 0;
		    private final static int FACE_MONO = 1;
		    private final static int FACE_PROP  = 2;
		    
		public String toXML()
		{
			 getCanvasParams();
			 StringBuffer buf = new StringBuffer();
			 getStartElement(DEVICE,buf);
			 buf.append("\n" );
			 getCapabilityElement(FULLSCREEN,fullScreenSizeW + "X" + fullScreenSizeH ,buf);
			 buf.append("\n" );
			 getCapabilityElement(SCREEN, canvasSizeW + "X" + canvasSizeH , buf);
			 buf.append( "\n" );
			  getFontParams();
			 for(int i=FACE_SYS;i<=FACE_PROP;i++){
				int[][] fontData = null;
				switch(i){
					case FACE_SYS:  fontData=fontSystem; break;
					case FACE_MONO: fontData=fontMonoSpace; break;
					case FACE_PROP: fontData=fontProportional; break;
				}
				 for(int j=FONT_SIZE_LARGE;j<=FONT_SIZE_SMALL;j++){
					 getFontElement(font[i][j],fontData[j],buf);
					 buf.append( "\n" );
				 }
			 }
			 getCapabilityElement(KEY_0,String.valueOf(keys[SMLKEY_0]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_UP,String.valueOf(keys[SMLKEY_U]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_DOWN,String.valueOf(keys[SMLKEY_D]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_LEFT,String.valueOf(keys[SMLKEY_L]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_RIGHT,String.valueOf(keys[SMLKEY_R]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_OK,String.valueOf(keys[SMLKEY_A]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_LEFTSOFT,String.valueOf(keys[SMLKEY_LS]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_RIGHTSOFT,String.valueOf(keys[SMLKEY_RS]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(KEY_CANCEL,String.valueOf(keys[SMLKEY_C]),buf);
			 buf.append( "\n" );
			 getCapabilityElement(MEMORY,String.valueOf(Runtime.getRuntime().totalMemory()),buf);
			 buf.append( "\n" );
			 getEndElement(DEVICE,buf);
			 return buf.toString();
		}
		
		
		private void getStartElement(String element,StringBuffer sb)
		{
			sb.append("<");
			sb.append(element);
			sb.append(">");
		}
		
		private void getEndElement(String element,StringBuffer sb)
		{
			sb.append("</");
			sb.append(element);
			sb.append(">");
		}
		
		
	
		private void getCapabilityElement(String element,String value,StringBuffer sb)
		{
			
			sb.append("<");
			sb.append("capability");
			sb.append(" name=\"");
			sb.append(element);
			sb.append("\" value=\"");
			sb.append(value);
			sb.append("\"/>");
			
		}
		
		private void getFontElement(String element,int[] font,StringBuffer sb)
		{
			
			sb.append("<");
			sb.append("capability");
			sb.append(" name=\"");
			sb.append(element);
			sb.append("\" value=\"");
			sb.append(font[0]);
			sb.append("*");
			sb.append(font[1]);
			sb.append("*");
			sb.append(font[2]);
			sb.append("\"/>");
			
		}
		
		
}

⌨️ 快捷键说明

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