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

📄 kbaostock.java

📁 手机炒股的j2me源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				if( ci > 0 )
				{
				String si = stocklist.getString(ci) ;
				stocklist.delete( ci );
				stocklist.insert( 0, si , icon_stk );
				stocklist.setSelectedIndex( 0,true );
				}
				return ;
			}

			if( c == move_last_cmd )
			{
				if( ci < stocklist.size( )-1 )
				{
				String si = stocklist.getString(ci) ;
				stocklist.delete( ci );
				stocklist.append( si , icon_stk );
				stocklist.setSelectedIndex( stocklist.size( )-1,true );
				}
				return ;
			}

			if( c == move_up_cmd )
			{
				if( ci>0 )
				{
				String si = stocklist.getString(ci) ;
				stocklist.delete( ci );
				stocklist.insert( ci-1, si , icon_stk );
				stocklist.setSelectedIndex( ci-1,true );
				}
				return ;
			}

			if( c == move_down_cmd )
			{
				if( ci < stocklist.size( )-1 )
				{
				String si = stocklist.getString(ci) ;
				stocklist.delete( ci );
				stocklist.insert( ci+1, si , icon_stk );
				stocklist.setSelectedIndex( ci+1,true );
				}
				return ;
			}

			return ;
		}

		//个股操作
		if( s == opslist )
		{

			if( c == back_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			int ci = opslist.getSelectedIndex( );
			if( ci == -1 ) return ;

			if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
			{
				//分解代码
				String st = opslist.getTitle() ;
				int sn = st.length() ;
				int cn = 0;
				for( ; cn<sn;cn++)
				{
					char cc = st.charAt(cn);
					if( cc>='0' && cc<='9' );
					else if( cc>='a' && cc<='z' );
					else if( cc>='A' && cc<='Z' );
					else break ;
				}
				if( cn < sn )
				st = st.substring( 0, cn );

				//构造 URL

				url = null ;

				if( ci == 0 )
				{
					if( width < 140 )
					url = j2me + "/bidsp/"+st+"?mask=s&"+scale_bidsp ;
					else
					url = j2me + "/bidsp/"+st+"?"+scale_bidsp ;
				}
				else if( ci == 1 )
					url = j2me + "/mins/"+st+"?"+mask+"&"+scale;
				else if( ci == 2 )
					url = j2me + "/kdays/"+st+"?ktype=10001&"+mask+"&"+scale;
				else if( ci == 3 )
					url = j2me + "/kdays/"+st+"?ktype=10002&"+mask+"&"+scale;
				else if( ci == 4 )
					url = j2me + "/kdays/"+st+"?ktype=10003&"+mask+"&"+scale;
				else if( ci == 5 )
					url = j2me + "/kdays/"+st+"?ktype=10004&"+mask+"&"+scale;
				else if( ci == 6 )
					url = j2me + "/kdays/"+st+"?ktype=20001&"+mask+"&"+scale;
				else if( ci == 7 )
					url = j2me + "/kdays/"+st+"?ktype=20002&"+mask+"&"+scale;
				else if( ci == 8 )
					url = j2me + "/kdays/"+st+"?ktype=20003&"+mask+"&"+scale;
				else if( ci == 9 )
					url = j2me + "/kdays/"+st+"?ktype=20004&"+mask+"&"+scale;

				//清理屏幕
				while( dataform.size( ) > 0 )
				dataform.delete(0);

				//System.gc( ); 

				StringItem si = new StringItem( "正在连接...", null );
				dataform.append( si ); 
			
				dataform.setTitle( opslist.getTitle() ) ;
				display.setCurrent( dataform );	
				display_stack[ ++display_stackp ] = dataform ;

				//请求数据
				HttpData t = new HttpData( url, this );
				t.tag = 0 ;
				t.start();

				if( info_url != null )
				{
					t = new HttpData( info_url, this );
					t.tag = 1 ;
					t.start();
					info_url = null ;
				}


				return ;
			}

			return ;
		}

		//个股数据
		if( s == dataform )
		{

			if( c == back_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			if( c == fresh_cmd )
			{
				StringItem si = new StringItem( "正在刷新...", null );
				dataform.insert( 0, si );

				HttpData t = new HttpData( url, this );
				t.tag = 0;
				t.start();
				
				return ;
			}


			return ;
		}

		//排行榜 市场
		if( s == marklist )
		{
			if( c == back_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			int ci = marklist.getSelectedIndex( );
			if( ci == -1 ) return ;

			if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
			{
				String a = marklist.getString( ci );
				sortypes.setTitle( a+" 排行榜" ) ;
				display.setCurrent( sortypes );
				display_stack[ ++display_stackp ] = sortypes ;

				return ;
			}
			
			return ;
		}

		//排行榜 分类
		if( s == sortypes )
		{
			if( c == back_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			int ci = sortypes.getSelectedIndex( );
			if( ci == -1 ) return ;

			if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
			{
				int mk = marklist.getSelectedIndex() ;
				String a = marklist.getString( mk );

				String b = sortypes.getString( ci );
				toplist.setTitle( a+b );//+" 排行榜" ) ;
				display.setCurrent( toplist );
				display_stack[ ++display_stackp ] = toplist ;

				while( toplist.size( ) > 0 )
				toplist.delete(0);

				toplist.append( "正在连接...", null );

				url = j2me + "/xlist/"+top_market[mk*2]+"?count=10&sort="+sort_types[ci];

				HttpData t = new HttpData( url, this );
				t.tag = 2;
				t.start();

				return ;
			}
			
			return ;
		}

		//排行榜
		if( s == toplist )
		{
			if( c == back_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			int ci = toplist.getSelectedIndex( );
			if( ci == -1 ) return ;

			if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
			{
				String a = toplist.getString( ci ) ;
				int an = a.length() ;
				for( int i=an-3; i>=0;i--)
				if( a.charAt(i) ==' ' )
				{
					a = a.substring( 0, i ) ;
					break ;
				}

				opslist.setTitle( a );
				display.setCurrent( opslist );
				display_stack[ ++display_stackp ] = opslist ;
				return ;
			}
			
			if( c == select_cmd )
			{
				String a = toplist.getString( ci ) ;
				int an = a.length() ;
				for( int i=an-3; i>=0;i--)
				if( a.charAt(i) ==' ' )
				{
					a = a.substring( 0, i ) ;
					break ;
				}

				stocklist.append( a, icon_stka );
				return ;
			}

			return ;
		}


		//编辑代码
		if( s == editform )
		{

			if( c == cancel_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			if( c == ok_cmd || c == ((List)s).SELECT_COMMAND )
			{
				String a = editext.getString( ).trim( );
				if( a.length() < 4 ) return ;
				

				int ci = stocklist.getSelectedIndex( );
				if( ci == -1 ) 
					stocklist.append( a, icon_stk );
				else
					stocklist.insert( ci, a, icon_stk );
				
				display.setCurrent( display_stack[ --display_stackp ] );

				return ;
			}


			return ;
		}

		//设置
		if( s == cfgform )
		{

			if( c == cancel_cmd )
			{	
				display.setCurrent( display_stack[ --display_stackp ] );
				return ;
			}

			if( c == ok_cmd || c == ((List)s).SELECT_COMMAND )
			{
				host = cfgtext.getString( ).trim();

				display.setCurrent( display_stack[ --display_stackp ] );

				return ;
			}


			return ;
		}

	}

	public void receiveHttpData( HttpData hd, byte[] data )
	{

		if( hd.tag == 0 )
		{
			if( display.getCurrent( ) != dataform )
			return ;

			while( dataform.size( ) > 0 )
			dataform.delete(0);

			if( data==null || data.length == 0 ) 
			{
				StringItem si = new StringItem( "无数据", null );
				dataform.append( si ); 
			}
			else
			{
 
				//System.out.print("png data size=" );
				//System.out.println( String.valueOf( data.length) );

				Image png = Image.createImage(data, 0, data.length); 
				dataform.append( png );
			}

			display.setCurrent( dataform );

			return ;
		}

		if( hd.tag == 1 )
		{
			if( display.getCurrent( ) == opslist ) ;
			else if( display.getCurrent( ) == dataform ) ;
			else return ;

			if( data==null || data.length == 0 ) return ;

			String s = read_utf8( data ) ;
			if( s == null || s.length( )==0 ) return ;


			//System.out.print("report data size=" );
			//System.out.println( String.valueOf( data.length) );

			int sn = s.length() ;
			int[] tabs = new int[20];
			for( int i=0, tn=0; i<sn && tn<20;i++)
			{
				char c = s.charAt(i);
				if( c=='\t' )
				tabs[tn++]=i;
			}
			
			s = s.substring(0,tabs[0]) + " "+ s.substring(tabs[0]+1, tabs[1]);
			
			opslist.setTitle( s );
			if( display.getCurrent( ) == dataform ) 
			dataform.setTitle( s );

			int ci = stocklist.getSelectedIndex() ;
			if( ci == -1 ) ; else
			stocklist.set( ci, s, icon_stka );

			return ;
			
		}

		if( hd.tag == 2 )
		{
			if( display.getCurrent( ) != toplist )
			return ;

			if( data==null || data.length == 0 ) return ;

			//System.out.print("tops data size=" );
			//System.out.println( String.valueOf( data.length) );

			String s = read_utf8( data ) ;
			if( s == null || s.length( )==0 ) return ;

			while( toplist.size( ) > 0 )
			toplist.delete(0);

			// 切割 s 到 toplist 

			String a="";
			int start=0;
			int sn = s.length() ;
			for( int i=0; i<sn; i++ )
			{
				char c = s.charAt(i) ;
				if( c == '\t' )	
				{
					a = a + s.substring( start,i )+" ";
					start = i+1 ;
				}
				else if( c =='\r' || c == '\n' )
				{
					a = a + s.substring( start,i );
					start = i+1 ;

					if( a.length( ) > 0 )
					{
						toplist.append( a, null ); // icon_stk ?
						a = "" ;
					}
					
				}

			}

			display.setCurrent( toplist );	
			return ;
			
		}
		
	}


	/* 读入 data[] 中的 utf-8 字符 */
	private String 	read_utf8( byte[] data )
	{		

		try
		{
			ByteArrayOutputStream bos = new ByteArrayOutputStream( 2 + data.length );
			DataOutputStream dos = new DataOutputStream( bos );			
			dos.writeShort( data.length );
			dos.write( data,0,data.length );
			byte[] jdata = bos.toByteArray( );

			ByteArrayInputStream bis = new ByteArrayInputStream( jdata,0,jdata.length );
			DataInputStream dis = new DataInputStream( bis );
			return dis.readUTF( );	

		}
		catch ( IOException e ){ return null; }
	}

	private String 	bytes2string( byte[] data )
	{		

		try
		{
			//return new String( data, "UTF8" );
			
			ByteArrayInputStream bis = new ByteArrayInputStream( data );
			DataInputStream dis = new DataInputStream( bis );
			return dis.readUTF( );	
			

		}
		catch ( IOException e ){ return null; }
	}

	private byte[] 	string2bytes( String str )
	{		

		try
		{
			//return str.getBytes( "UTF8" );
			
			ByteArrayOutputStream bos = new ByteArrayOutputStream(  );
			DataOutputStream dos = new DataOutputStream( bos );
			dos.writeUTF( str ) ;
			return bos.toByteArray( );
			

		}
		catch ( IOException e ){ return null; }
	}


}


⌨️ 快捷键说明

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