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

📄 welcome.java

📁 J2ME+WebService,采用KSoap框架进行操作。
💻 JAVA
字号:
/**
//文档生成日期:2005.8.14
//
//(1)概述:
//类名称:Welcome
//类说明:
//等候画面的Canvas
* 
//所在子系统:Web Service kSOAP Caller
//
//系统总描述:
	    
http://www.cnblogs.com/zhengyun_ustc/archive/2005/08/27/ksoapmidpwebservice1.html
讲的是
第一小步,Web Service传递String 
http://www.cnblogs.com/zhengyun_ustc/archive/2005/08/27/ksoapmidpwebservice2.html
则给出了
第二小步,Web Service传递较为复杂的类 
下面我们讲述如何在MIDP设备和Web Service之间传递较为复杂的类,比如这个类中不但有String类型成员变量,还有Vector之类的复杂类型。 
从kSoap的FAQ上看,他们推荐使用KvmSerializable以及 ClassMap传递自定义类,但是我一直没有试验成功。 
我还是按照能试验出来的办法讲述一下步骤吧: 
大致思路就是,在服务器端将类实例按照一定规格(一个一个的成员变量写)序列化为byte[],将这个byte[]数组返回给kSOAP。kSOAP收到之后,再反序列化,将byte[]一段一段地读入类实例。


//(2)历史记录:
//创建人: 郑昀(2005.8.14)
//联系我: Google Talk >> zhengyun@gmail.com
//Blogs:    http://blog.csdn.net/zhengyun_ustc/以及http://www.cnblogs.com/zhengyun_ustc

//(3)版权声明:
//遵照GPL协议的大意开放源代码,您可以自由传播和修改,在遵照GPL协议的约束条件的前提下。

////////////////////////////////////////////////////////////////////*/
package com.ultrapower.view;

import java.util.Timer;
import java.util.TimerTask;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

/**
 * <p>
 * Title: WaitingWebService
 * </p>
 * <p>
 * Description:此类可用于长时间操作时的等待画面
 * </p>
 * <p>
 * Copyright: Copyright (c) 2005
 * </p>
 * <p>
 * Company: ultrapower
 * </p>
 * 
 * @author 张文杰
 * @version 1.0
 */
public class Welcome extends Canvas {

	private int mCount, mMaxinum;

	private int mInterval;

	private int mWidth, mHeight, mx, my, mRadius;

	private String Msg;

	protected void paint(Graphics g) {
		int theta = -(mCount * 360 / mMaxinum);

		g.setColor(255, 255, 255);
		g.fillRect(0, 0, mWidth, mHeight);

		g.setColor(0x00ff0000);
		g.drawArc(mx, my, mRadius, mRadius, 0, 360);
		g.setColor(0x000000ff);
		g.fillArc(mx, my, mRadius, mRadius, theta + 90, 90);
		g.fillArc(mx, my, mRadius, mRadius, theta + 270, 90);

		if (Msg != null) {
			g.drawString(Msg, mWidth / 2, my+mRadius+20, Graphics.BOTTOM
					| Graphics.HCENTER);
		}
	}

	public Welcome() {
		mCount = 0;
		mMaxinum = 36;
		mInterval = 50;
		mWidth = getWidth();
		mHeight = getHeight();

		int halfWidth = (mWidth - mRadius) / 2;
		int halfHeight = (mHeight - mRadius) / 2;
		mRadius = Math.min(halfWidth, halfWidth)-10;

		mx = halfWidth - mRadius / 2;
		my = halfHeight - mRadius / 2;

		TimerTask task = new TimerTask() {
			public void run() {
				mCount = (mCount + 1) % mMaxinum;
				repaint();
			}
		};

		Timer timer = new Timer();
		timer.schedule(task, 0, mInterval);
	}

	public void setMessage(String messge) {
		Msg = messge;
		repaint();
	}
}

⌨️ 快捷键说明

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