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

📄 delet05.java

📁 J2ME的源码!我以前学习J2ME的源码哈!非常适合初学者
💻 JAVA
字号:
package flow;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextField;
import javax.microedition.rms.InvalidRecordIDException;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
import javax.microedition.rms.RecordStoreNotOpenException;

import rms.Account;

public class delet05 extends List implements CommandListener {
	// private TextField Delet;
	private RecordStore recordStore;

	private int[] data2;// 声明一数组;

	private Display display;

	private Command deletcmd = new Command("删除", Command.OK, 3);

	private Command backcmd5 = new Command("返回", Command.BACK, 5);

	private List main;

	public delet05(Display display5, List main5) {
		super("删除界面", Choice.MULTIPLE);

		this.display = display5;
		this.main = main5;

		addCommand(deletcmd);
		setCommandListener(this);
		addCommand(backcmd5);
		readInfo();

	}

	// 下面的思路为,先打开数据库readInfo();再re.reset();返回到初始状态;

	public void readInfo() {
		try {
			recordStore = RecordStore.openRecordStore("tel", true);// 在每一个新程序中,需先打开数据库然后再进行其它程序的写入
		} catch (RecordStoreFullException e1) {
			e1.printStackTrace();
		} catch (RecordStoreNotFoundException e1) {
			e1.printStackTrace();
		} catch (RecordStoreException e1) {
			e1.printStackTrace();
		}
		RecordEnumeration re = null;// RecordEnumeration枚举函数,在读取时使用
		try {
			re = recordStore.enumerateRecords(null, null, true);// 过滤,比较,更新
		} catch (RecordStoreNotOpenException e1) {
			e1.printStackTrace();
		}

		while (re.hasNextElement()) {
			byte[] data = null;
			try {
				data = re.nextRecord();
			} catch (InvalidRecordIDException e1) {
				e1.printStackTrace();
			} catch (RecordStoreNotOpenException e1) {
				e1.printStackTrace();
			} catch (RecordStoreException e1) {
				e1.printStackTrace();
			}

			Account ra = Account.decode(data);// 先由Account声明ra
			// ,再由ra接收Account.decode(data)
			// 因decode属于取出的方法,故不能像AddFirend02中的encode那样使用
			append("姓名:" + ra.getName(), null);
		}
		re.reset();// 返回到初始状态;

		int size = re.numRecords();// 声明一个 size的数据长度;numRecords代表数据长度(固定用法);
		data2 = new int[size];// 对data2初始化;
		int i = 0;// 定义 一个整型;
		while (re.hasNextElement()) {//

			try {
				data2[i] = re.nextRecordId();// nextRecordId获取第i项中的ID;
				i++;

			} catch (Exception e) {
				e.printStackTrace();
			}

		}

	}

	public void commandAction(Command c5, Displayable d) {
		if (c5 == backcmd5) {
			display.setCurrent(main);
			try {
				recordStore.closeRecordStore();
			} catch (RecordStoreNotOpenException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (RecordStoreException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} else if (c5 == deletcmd) {
			boolean[] selet = new boolean[this.size()];

			this.getSelectedFlags(selet);// getSelectedFlags属于多项选择,而getSelectedIndex属于单项选择;
			for (int i = 0; i < selet.length; i++) {
				if (selet[i]) {// 当selet[第i项],if(selet[i]是在判断其为真的情况下;
					try {
						recordStore.deleteRecord(data2[i]);// deleteRecord代表被删除记录的ID不会被新增的记录重用

					} catch (RecordStoreNotOpenException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (InvalidRecordIDException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (RecordStoreException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					// 当上述为true时,删除选中的,而若为false则不删,为false也无需写出;

				}

			}
			Alert alert = new Alert("删除成功");
			display.setCurrent(alert);

		}

	}
}

⌨️ 快捷键说明

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