欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android实现邮箱验证功能

程序员文章站 2023-11-05 14:46:28
本文实例为大家分享了android实现邮箱验证功能的具体代码,供大家参考,具体内容如下 目标效果: < 资源包(三个jar包和两个java页面):点击打开链接...

本文实例为大家分享了android实现邮箱验证功能的具体代码,供大家参考,具体内容如下

目标效果:

Android实现邮箱验证功能Android实现邮箱验证功能<

资源包(三个jar包和两个java页面):点击打开链接

1.首先需要注册一个邮箱(作为一个专门发验证码的邮箱,我是新注册的),然后打开网页版中pop3那一栏;

Android实现邮箱验证功能

2.两个方格全打勾:

Android实现邮箱验证功能

3.提示让设置授权码;

Android实现邮箱验证功能

4.默认为停用,点击开启:

Android实现邮箱验证功能

5.提示输入授权码,输入完成后会显示表格,表格右边显示未停用:

Android实现邮箱验证功能

6.邮箱配置完成

7.新建项目,将资源包中三个jar包导入并引用,然后加入另外两个java页面,更改sendemail.java页面的部分内容

Android实现邮箱验证功能

Android实现邮箱验证功能

Android实现邮箱验证功能

8.activity_,main.xml页面:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 tools:context="com.example.vico.emailtest.mainactivity">
 
 <edittext
 android:id="@+id/etinputemail"
 android:layout_width="300dp"
 android:layout_gravity="center_horizontal"
 android:layout_height="wrap_content"
 android:gravity="center"
 android:hint="邮箱"
 android:layout_margintop="100dp"/>
 
 <button
 android:id="@+id/btgetnum"
 android:layout_width="150dp"
 android:layout_gravity="center_horizontal"
 android:layout_height="wrap_content"
 android:layout_margintop="20dp"
 android:onclick="btclick"
 android:text="发送验证码" />
 
 <edittext
 android:id="@+id/etinputgetnum"
 android:layout_width="100dp"
 android:layout_gravity="center_horizontal"
 android:layout_height="wrap_content"
 android:gravity="center"
 android:hint="验证码"
 android:layout_margintop="100dp"/>
 
 <button
 android:id="@+id/btsubmit"
 android:layout_width="150dp"
 android:layout_gravity="center_horizontal"
 android:layout_height="wrap_content"
 android:layout_margintop="20dp"
 android:onclick="btclick"
 android:text="提交" />
 
</linearlayout>

9.mainactivity.java:

package com.example.vico.emailtest;
 
import android.os.handler;
import android.os.message;
import android.support.v7.app.appcompatactivity;
import android.os.bundle;
import android.view.view;
import android.widget.button;
import android.widget.edittext;
import android.widget.toast;
 
import com.example.vico.other.randomnumber;
import com.example.vico.other.sendemail;
 
public class mainactivity extends appcompatactivity {
 
 private edittext etinputemail,etinputgetnum;
 
 private long verificationcode=0; //生成的验证码
 private string email; //邮箱
 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 setcontentview(r.layout.activity_main);
 
 init();
 }
 
 private void init() {
 etinputemail= (edittext) findviewbyid(r.id.etinputemail);
 etinputgetnum= (edittext) findviewbyid(r.id.etinputgetnum);
 }
 public void btclick(view view){
 switch (view.getid()){
 case r.id.btgetnum:
 email=etinputemail.gettext().tostring();
 sendverificationcode(email); //发送验证码
 break;
 case r.id.btsubmit:
 judgeverificationcode(); //判断输入的验证码是否正确
 break;
 }
 }
 //发送验证码
 private void sendverificationcode(final string email) {
 try {
 new thread() {
 @override
 public void run() {
 super.run();
 try {
 randomnumber rn = new randomnumber();
 verificationcode = rn.getrandomnumber(6);
 sendemail se = new sendemail(email);
 se.sendhtmlemail(verificationcode);//发送html邮件
 toast.maketext(mainactivity.this,"发送成功",toast.length_long).show();
 } catch (exception e) {
 e.printstacktrace();
 }
 }
 }.start();
 } catch (exception e) {
 e.printstacktrace();
 }
 }
 
 //判断输入的验证码是否正确
 private void judgeverificationcode() {
 if(integer.parseint(etinputgetnum.gettext().tostring())==verificationcode){ //验证码和输入一致
 toast.maketext(mainactivity.this,"验证成功",toast.length_long).show();
 }else{
 toast.maketext(mainactivity.this, "验证失败", toast.length_long).show();
 }
 }
}

10.添加权限: 

<!-- 允许联网 -->
 <uses-permission android:name="android.permission.internet"/>
 <!-- 获取gsm(2g)、wcdma(联通3g)等网络状态的信息 -->
 <uses-permission android:name="android.permission.access_network_state"/>
 <!-- 获取wifi网络状态的信息 -->
 <uses-permission android:name="android.permission.access_wifi_state"/>

源码下载:点击打开链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。