listing5-03_updatemidlet.java

来自「着几乎所有智能机厂商都将有自己配套的App Store,甚至并非智能手机制造商的」· Java 代码 · 共 77 行

JAVA
77
字号
package com.apress.update;
import javax.microedition.io.ConnectionNotFoundException;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;

public class UpdateMidlet extends MIDlet {
	private static final int VERSION = 125; // 1.2.5

	public UpdateMidlet() {
		super();
	}

	protected void startApp() throws MIDletStateChangeException {
		try {
			RecordStore versionStore = RecordStore.openRecordStore( "version", false );
			versionStore.closeRecordStore();
			byte[] versionData = versionStore.getRecord(
			versionStore.getNextRecordID() - 1 );
			String versionStr = new String( versionData );
			int version = Integer.parseInt( versionStr );
			if ( version != VERSION ) {
				// app has been updated:
				showUpdateMessage();
				// remove version record store:
				RecordStore.deleteRecordStore("version");
				return;
			}
		} catch (RecordStoreException e) {
			// no update has been requested
		}
		showMainMenu();
	}

	protected void requestUpdate() {
		//#ifdef polish.midp2
			try {
				// request update:
				//#if updateUrl:defined
					//#= platformRequest( "${updateUrl}" );
				//#else
					platformRequest( "http://www.company.com/app/update.jad" );
				//#endif
				// persist current version:
				RecordStore versionStore = RecordStore.openRecordStore( "version", true );
				byte[] versionData = Integer.toString( VERSION ).getBytes();
				versionStore.addRecord( versionData, 0, versionData.length );
				versionStore.closeRecordStore();
			} catch (ConnectionNotFoundException e) {
				//#debug error
				System.out.println("Unable to issue update request" + e );
			} catch (RecordStoreException e) {
				//#debug error
				System.out.println("Unable to persist current version" + e );
			}
		//#endif
	}
	
	protected void showMainMenu() {
		// TODO implement showMainMenu
	}

	protected void showUpdateMessage() {
		// TODO implement showUpdateMessage
	}

	protected void pauseApp() {
		// ignore
	}

	protected void destroyApp(boolean unconditional) throws
		MIDletStateChangeException {
		// exit gracefully
	}
}

⌨️ 快捷键说明

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