科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用J2ME实现简单电子邮件发送功能(一)

用J2ME实现简单电子邮件发送功能(一)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在GCF中并没有提供给我们能够发送电子邮件的API,J2ME的可选包也没有提供相关的功能。那么我们能用J2ME实现发送电子邮件功能嘛?答案是肯定的。本文将主要讲述如何在J2ME中实现发送电子邮件的功能。

作者:中国IT实验室 来源:中国IT实验室 2007年9月18日

关键字: 实现 J2ME 编程 java

  • 评论
  • 分享微博
  • 分享邮件
       在GCF中并没有提供给我们能够发送电子邮件的API,J2ME的可选包也没有提供相关的功能。那么我们能用J2ME实现发送电子邮件功能嘛?答案是肯定的。本文将主要讲述如何在J2ME中实现发送电子邮件的功能。

    这里一个非常重要的思想就是代理。我们知道GCF提供给我们进行联网的能力了,比如通过Http联网。在MIDP2.0中甚至提供了socket联网的API。那么我们可以通过他们连接服务器端的程序比如servlet,然后servlet可以通过JavaMail提供的接口发送邮件。那么我们需要做的只是通过Http协议或者其他协议把邮件的标题、内容、收件人等发送给servlet。就是这个简单的思想却是非常灵活非常有用。

    首先我们构造一个Message类来代表发送的消息。它包括主题、收件人和内容三个字段。

package com.j2medev.mail;

public class Message
{

    private String to;

    private String subject;

    private String content;

    public Message()
    {

    }

    public Message(String to, String subject, String content)
    {
        this.to = to;
        this.subject = subject;
        this.content = content;
    }


    public String getContent()
    {
        return content;
    }


    public void setContent(String content)
    {
        this.content = content;
    }
    public String getSubject()
    {
        return subject;
    }


    public void setSubject(String subject)
    {
        this.subject = subject;
    }

  
    public String getTo()
    {
        return to;
    }
    public void setTo(String to)
    {
        this.to = to;
    }
   
    public String toString()
    {
        return to+subject+content; 
    }
}

    在用户界面的设计上,我们需要两个界面。一个让用户输入收件人和主题,另一个用于收集用户输入的内容。由于TextBox要独占一个屏幕的,因此我们不能把他们放在一起。

/*
 * Created on 2004-12-8
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.j2medev.mail;

import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

/**
 * @author P2800
 *
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class MainForm extends Form implements CommandListener
{

    private MailClient midlet;

    private TextField toField;

    private TextField subField;
   
    private boolean first = true;

    public static final Command nextCommand = new Command("NEXT", Command.OK, 1);

    public MainForm(MailClient midlet, String arg0)
    {
        super(arg0);
        this.midlet = midlet;
        if(first)
        {
            first = false;
            init();
        }
       
    }

    public void init()
    {
        toField = new TextField("To:", null, 25, TextField.ANY);
        subField = new TextField("Subject:", null, 30, TextField.ANY);
        this.append(toField);
        this.append(subField);
        this.addCommand(nextCommand);
        this.setCommandListener(this);
       
    }
   
    public void commandAction(Command cmd,Displayable disp)
    {
        if(cmd == nextCommand)
        {
            String to = toField.getString();
            String subject = subField.getString();
            if(to == "" && subject == "")
            {
                midlet.displayAlert("Null to or sub",AlertType.WARNING,this);
            }
            else
            {
                midlet.getMessage().setTo(to);
                midlet.getMessage().setSubject(subject);
                midlet.getDisplay().setCurrent(midlet.getContentForm());
            }
        }
    }

}

 

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章