周末休息,这次我们继上次内容继续。上一篇内容我们讲述的是一些准备工作。下载两个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. sql server 语句使用规范

    Sql语句使用规范 规范内容以及注意事项: 1.查询时候使用top 10 /top 100 和where 字句控制每次执行SQL 返回的结果集合,在满足业务需求的同时返回最小的结果. 2.使用数据投影 ...

  2. 与你相遇好幸运,aglio写接口文档

    npm install -g aglio npm i aglio-theme-minimal aglio --theme-full-width -t minimal -i ./src/index.md ...

  3. Javascript数据类型检测

    Javascript有5种简单数据类型和一种复杂数据类型 基本数据类型:String,Boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,R ...

  4. 2012 Multi-University #10

    容斥原理 A Number Sequence 题意:给出n个数,b1,b2,b3……bn,构造n个数,a1,a2,……an(ai>1),使得a1*a2*a3……an=b1*b2……bn 分析:容 ...

  5. [Java] 位运算

    https://ckjoker.github.io/2015/03/01/Java-bit-primary/

  6. 实现一个 能在O(1)时间复杂度 完成 Push、Pop、Min操作的 栈

    一,问题描述 实现一个栈(元素遵守先入后出顺序),能够通过 min 方法在 O(1)时间内获取栈中的最小元素.同时,栈的基本操作:入栈(Push).出栈(Pop),也是在O(1)时间内完成的. 二,问 ...

  7. Excel转Json,Json转CSharp

    一份给策划最好的礼物!就是:Excel2Json2CSharp 策划配置Excel,动不动就要改数值啊,增加字段啊. 程序这边对应的解析类就得改动啊.整一个麻烦了得! 所以我就整理了这个Excel2J ...

  8. iOS UIView 动画浅谈

    UIView 等会效果简单实现,哪一个登录页面的demo来举例子吧. + (void)animateWithDuration:(NSTimeInterval)duration animations:( ...

  9. Android weight属性详解

    android:layout_weight是一个经常会用到的属性,它只在LinearLayout中生效,下面我们就来看一下: 当我们把组件宽度设置都为”match_parent”时: <Butt ...

  10. MySQL Cluster搭建与测试

    MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和Oracle Real Cluster Ap ...