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

📄 maptile.java

📁 基于J2ME的手机地图客户端源码
💻 JAVA
字号:
package org.sreid.j2me.gmapviewer;import javax.microedition.lcdui.Image;import java.io.*;class MapTile {	static final int WIDTH = 128;	static final int HEIGHT = 128;	static final byte WITH_BYTES = 101, WITH_RMSID = 102, WITH_MINIMUM = 0;	private static final byte SERIALIZED_VERSION = 1;	final XYZ xyz;	Image image;	byte[] bytes;	int rmsID = -1; // ID in RMS-based cache, or -1 if invalid.	int rmsBytesUsed; // only valid if rmsID != -1	boolean downloading = false;	boolean decoding = false;	MapTile(XYZ xyz) {		this.xyz = xyz;	}	/** Constructs from previously saved data. Only sets fields: xyz, and either bytes or rmsID */	MapTile(DataInput in, byte withBytesOrRmsID) throws IOException {		byte v = in.readByte();		if (v != SERIALIZED_VERSION) throw new IOException("Bad version header in data");		int x = in.readInt();		int y = in.readInt();		int z = in.readByte();		xyz = new XYZ(x, y, z);		switch (withBytesOrRmsID) {			case WITH_BYTES:				int nBytes = in.readInt();				byte[] b = new byte[nBytes];				in.readFully(b);				bytes = b;				rmsBytesUsed = b.length;				break;			case WITH_RMSID:				rmsID = in.readInt();				rmsBytesUsed = in.readInt();				break;			case WITH_MINIMUM:				break;			default:				throw new IllegalArgumentException("Not a valid option: " + withBytesOrRmsID);		}	}	void writeTo(DataOutput out, byte withBytesOrRmsID) throws IOException {		out.writeByte(SERIALIZED_VERSION);		out.writeInt(xyz.x);		out.writeInt(xyz.y);		out.writeByte((byte)xyz.z);		switch (withBytesOrRmsID) {			case WITH_BYTES:				out.writeInt(bytes.length);				out.write(bytes);				break;			case WITH_RMSID:				out.writeInt(rmsID);				out.writeInt(rmsBytesUsed);				break;			default:				throw new IllegalArgumentException("Not a valid option: " + withBytesOrRmsID);		}	}	public String toString() {		return "MapTile["		 + xyz		 + "," + (bytes == null ? -1 : bytes.length)		 + "," + rmsID		 + "," + rmsBytesUsed 		 + "," + (image == null ? "null" : "" + image.getWidth() + "x" + image.getHeight())		 + "," + downloading		 + "," + decoding		 + "," + System.identityHashCode(this)		 + "]";	}}

⌨️ 快捷键说明

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