周末休息,这次我们继上次内容继续。上一篇内容我们讲述的是一些准备工作。下载两个javamail.jar和activation.jar文件,然后再BuildPath~

言归正传,为了展示效果,在这里我申请了一个实验的新浪邮箱。

接下来我们就每一个.class文件分类介绍,以及每一个XXXXXactivity.class对应的layout布局文件(.xml)

1.Welcome.java

1.1 界面图如下:

界面效果图 控件功能藐视

两个EditText控件:

txtEmailAddress:输入用户名

txtPWD:输入密码

一个Button

btnOK:跳转到下一个界面,并且将两个txt的数据进行存储。

1.2layout布局代码(welcome.xml)如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <View
android:layout_width="wrap_content"
android:layout_height="200px" /> <EditText
android:id="@+id/txtEmailAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email Address" /> <EditText
android:id="@+id/txtPWD"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword" /> <requestFocus /> <View
android:id="@+id/view"
android:layout_width="wrap_content"
android:layout_height="50px" /> <Button
android:id="@+id/btnOK"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录邮箱" /> </LinearLayout>

1.3welcome.java代码,界面中有一个“登录邮箱”的按钮,在这里我想要做的效果是点击按钮,可以将两个EditText中的内容保存起来,用sharedPreference来做出效果。

package mi.email.activity;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; import mi.learn.com.R;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class Welcome extends Activity { private EditText txtEmailAddress;
private EditText txtPWD;
private Button btnOK;
private Button btnRead; private static final String SAVE_INFORMATION = "save_information"; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome); txtEmailAddress = (EditText) findViewById(R.id.txtEmailAddress);
txtPWD = (EditText) findViewById(R.id.txtPWD);
btnOK = (Button) findViewById(R.id.btnOK); // 给EditText进行 初始化付值,以方便运行程序
txtEmailAddress.setText("javamail_android@sina.com");
txtPWD.setText("javamail_android");
       btnOK.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // 获得编辑器
SharedPreferences.Editor editor = getSharedPreferences(SAVE_INFORMATION, MODE_WORLD_WRITEABLE).edit();
// 将EditText文本内容添加到编辑器
editor.putString("save", txtEmailAddress.getText().toString() + ";" + txtPWD.getText().toString());
// 提交编辑器内容
editor.commit();
// 定义Intent,实现点击按钮,进行界面跳转
Intent intent = new Intent();
intent.setClass(Welcome.this, ReceiveAndSend.class);
startActivity(intent);
}
}); } }

2.ReceiveAndSend.java

2.1我们通过名字不难看出它的功能是:收邮件以及发送邮件。这里用点击按钮的方式来实现效果。

界面图 按钮功能描述

  • ReceiveEmail:点击按钮跳转到收信箱界面(ReceiveList.java)
  • SendEmail:点击按钮进入到发送邮件的界面(SendMail.java)

界面比较简单,在这就不弄布局代码了.

2.2ReceiveAndSend.java ,功能较为简单,按钮触发事件,登录到另外所需要的界面。(收邮件和发邮件)

package mi.email.activity;

import mi.learn.com.R;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; public class ReceiveAndSend extends Activity {
private Button btnReceiveEmail;
private Button btnSendEmail; protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.receive_send);
btnReceiveEmail = (Button) findViewById(R.id.btnReceiveEmail);
btnSendEmail = (Button) findViewById(R.id.btnSendEmail);
btnReceiveEmail.setOnClickListener(new OnClickListener() { public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent_second = new Intent();
intent_second.setClass(ReceiveAndSend.this, ReceiveList.class);
showDialog(0);//显示进度条对话框
startActivity(intent_second);
}
}); btnSendEmail.setOnClickListener(new OnClickListener() { public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent_third=new Intent();
intent_third.setClass(ReceiveAndSend.this, SendMail.class);
showDialog(0);//显示进度条对话框'
startActivity(intent_third);
}
}); } protected Dialog onCreateDialog(int id) {// 显示网络连接Dialog
ProgressDialog dialog = new ProgressDialog(this);
dialog.setTitle("请稍候。。。");
dialog.setIndeterminate(true);
dialog.setMessage("程序正在加载。。。");
return dialog;
} }

Ps:在下面的两篇文章中,介绍基于javamail的邮件接收和发送。

Android 基于Android的手机邮件收发(JavaMail)之二( Welcome.java 和 ReceiveAndSend.java )的更多相关文章

  1. Android 基于Android的手机邮件收发(JavaMail)之三(邮件接收)

    初次做这个程序的时候,是仿照着网上别人的程序做的.因为本人比较菜,是一个新手,以前的基础知识没有学好,所以尽管有了别人的代码但是还是不知道怎么在界面上显示出它的效果来,废话不多少,现在就贴出我的参考程 ...

  2. Android 基于Android的手机邮件收发(JavaMail)之四(邮件的发送)

    上一个邮件的接受,因为不当操作,保存未完成,一切东西都得从头开始那就先从邮件发送来吧. 先下我们做一个较为简单的邮件发送 以下是源代码:相信看过上篇文章所给连接的人,对于javamail应该都有了一定 ...

  3. Android 基于Android的手机邮件收发(JavaMail)之一(准备工作)

    界面一共是五个界面,分别是welcomeActivity,ReceiveAndSendActivity,ReceiveListActivity,SendMailActivity,MailDetails ...

  4. Android基于mAppWidget实现手绘地图(二)--概要

    离线地图是一张被切成类似瓷砖般格子图像组成,这些被切开的格子组织成多个缩放级别.缩放级别是从0开始.0这个缩放级别,地图图像的尺寸为1*1像素.在每下一个缩放级别,图像尺寸则会两倍递增. 每个地图都是 ...

  5. 【转】 Android 基于google Zxing实现对手机中的二维码进行扫描--不错

    原文网址:http://blog.csdn.net/xiaanming/article/details/14450809 转载请注明出处:http://blog.csdn.net/xiaanming/ ...

  6. Android 基于google Zxing实现对手机中的二维码进行扫描

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/14450809 有时候我们有这样子的需求,需要扫描手机中有二维码的的图片,所以今天实现的 ...

  7. Android基于XMPP的即时通讯2-文件传输

    本文是在上一篇博文Android基于XMPP的即时通讯1-基本对话的基础上,添加新的功能,文件传输 1.初始化文件传输管理类 public static FileTransferManager get ...

  8. Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

      Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.net/xiaanming/article/detail ...

  9. 基于Android 平台简易即时通讯的研究与设计[转]

    摘要:论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的作用和功能以及实现方法.(复杂的通讯如引入视频音频等可以考虑AnyChat SDK~)关键词:An ...

随机推荐

  1. 查看cpu的信息cat /proc/cpuinfo

    cat /proc/cpuinfo processor : vendor_id : GenuineIntel cpu family : model : model name : Intel(R) Co ...

  2. Nginx 反代理其他搜索引擎

    反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  3. 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】

    一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...

  4. [BI项目记]-搭建代码管理环境之签入代码

    此篇主要介绍如何基于TFS环境创建进行BI项目最简单的代码签入和签出工作. 首先介绍BI项目中的SSAS项目.SSAS项目主要包含Cube多维数据集和数据挖掘模型,是在微软BI产品体系中重要的一个组件 ...

  5. 字符串数组初始化0 与memset 0 效率的分析

    转自:http://www.xuebuyuan.com/1722207.html 结合http://blog.sina.com.cn/s/blog_59d470310100gov8.html来看. 最 ...

  6. 已解决:Strict Standards: Only variables should be passed by reference in

    今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be passed by reference in F:\www.x ...

  7. 转--脉络清晰的BP神经网络讲解,赞

    http://www.cnblogs.com/wengzilin/archive/2013/04/24/3041019.html 学 习是神经网络一种最重要也最令人注目的特点.在神经网络的发展进程中, ...

  8. 西门子成立next47部门,斥资十亿欧元投资VR/AR等初创公司

       近日,西门子公司在慕尼黑举行的"西门子创新日"现场,宣布了三个关于"创新"的新动作.首先,超过六成员工的创新应用得到肯定,其中有 25 个项目获得总数高达 ...

  9. 未能添加对***.dll的引用问题

    在机器A上运行.编译成功的程序,在B上不能正确被编译,并且添加r如 knbook.dll 时候提示如下: 未能添加对"knbook.dll"引用,请确保此文件可以访问并且是一个有效 ...

  10. jQuery常用插件

    jQuery UI插件简介: jQuery UI是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画.特效和可更换主题的可视控件.我们可以直接用它来构建具 ...