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

📄 addfirend02.java

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

import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
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.Gauge;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextField;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordFilter;
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;

public class AddFirend02 extends Form implements CommandListener {
	private TextField namefield, tel, phone, email;

	private List main;

	private Display display;

	private RecordStore recordStore;

	private String name;

	private String mobile;

	private String phone02;

	private String email02;

	Command saveCmd = new Command("存储", Command.ITEM, 1);

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

	AddFirend02(Display display2, List main2) {// 这里是传入上面的两个参数;

		super("添加联系人");

		this.display = display2;// 还需将这两个参数传进来,否则无法完成返回的操作
		this.main = main2;

		namefield = new TextField("姓名", "", 20, TextField.INITIAL_CAPS_WORD);// 有四个数据,前两个为字符串,第3个为字数,第4个为TextField.一个常量,ANY是任意的意思;
		tel = new TextField("移动电话", "", 20, TextField.PHONENUMBER);
		phone = new TextField("固定电话", "", 20, TextField.PHONENUMBER);
		email = new TextField("电子邮件", "", 20, TextField.EMAILADDR);

		addCommand(saveCmd);
		setCommandListener(this);
		addCommand(backCmd);

		append(namefield);
		append(tel);
		append(phone);
		append(email);

	}

	public void commandAction(Command c, Displayable d) {
		if (c == backCmd) {
			display.setCurrent(main);

		} else if (c == saveCmd) {
			name = namefield.getString();
			mobile = tel.getString();
			phone02 = phone.getString();
			email02 = email.getString();

			if (name.equals("")) {
				Alert alert = new Alert("输入的信息不能为空");
				display.setCurrent(alert);
			} else {
				Alert alert = new Alert("储存成功");
				display.setCurrent(alert);
				saveInfo();
			}

		}
	}

	private void saveInfo() {
		byte[] data = null;
		Account ra = new Account(name, mobile, phone02, email02);
		try {
			recordStore = RecordStore.openRecordStore("tel", true);

		} catch (RecordStoreFullException e) {
			e.printStackTrace();
		} catch (RecordStoreNotFoundException e) {
			e.printStackTrace();
		} catch (RecordStoreException e) {
			e.printStackTrace();
		}
		try {
			data = ra.encode();// 这里的encode是在写入数据,上面四个就是;
			recordStore.addRecord(data, 0, data.length);
			append(name);// 因为本身该类是Form类,故前面的form可省略,且无需在构造函数前声明Form
			append(mobile);
			append(phone02);
			append(email02);

		} catch (RecordStoreNotOpenException e) {
			e.printStackTrace();
		} catch (RecordStoreFullException e) {
			e.printStackTrace();
		} catch (RecordStoreException e) {
			e.printStackTrace();
		}

		/*
		 * ByteArrayOutputStream bos = new ByteArrayOutputStream();
		 * DataOutputStream dos = new DataOutputStream(bos); try {
		 * dos.writeUTF(name); dos.writeUTF(mobile); dos.writeUTF(phone02);
		 * dos.writeUTF(email02); data = bos.toByteArray(); dos.close();
		 * bos.close();
		 *  } catch (IOException e) { e.printStackTrace(); }
		 */// 用Account re = new Account(name, mobile, phone02, email02);来替换
		// 上面被注释的部分

	}

}

⌨️ 快捷键说明

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