Android忘记密码功能实现

连续好几天学习都没有什么进展,然而在今天这个烂漫的日子。突然有了学习的动力。想起来前几日老师给布置的android忘记密码的功能实现。今天也有了想法。就是按照老师的建议,简单的回答一个问题,实现此功能。我就模仿之前写的登录的例子。实现了此功能。我的想法是:回答之前绑定的手机号。如果正确则忘记密码成功。反之失败。

现在开始上效果图片:

android端的代码:

ForgetActivity.java

package com.itcast.forget;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class ForgetActivity extends Activity {
        private EditText et_phone;
        protected static final int ERROR = 2;
        protected static final int SUCCESS = 1;
        private Handler handler = new Handler(){
        public void handleMessage(Message msg) {
            switch (msg.what) {
            case SUCCESS:
                Toast.makeText(ForgetActivity.this,(String)msg.obj, 1).show();
                
                break;

            case ERROR:
                Toast.makeText(ForgetActivity.this,"失败", 1).show();
                break;

            }
        };
         };
         
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_forget);
        et_phone = (EditText) findViewById(R.id.et_phone);
    }

    public void btn_ok(View view){
        final String phone = et_phone.getText().toString().trim();
        if (TextUtils.isEmpty(phone)) {
            Toast.makeText(this, "手机号不能为空!", 0).show();
            return;
        }
        new Thread(){
            public void run(){
                try{
                    String path = "http://192.168.1.105:80/xampp/forget.php";
                    URL url = new URL(path);
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("POST");
                     conn.setRequestProperty("User-Agent", "Mozilla/5.0(compatible;MSIE 9.0;Windows NT 6.1;Trident/5.0)");
                     conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");//请求的类型  表单数据
                     String data = "phone="+phone+"&button=";
                     conn.setRequestProperty("Content-Length", data.length()+"");//数据的长度
                     conn.setDoOutput(true);//设置向服务器写数据
                     byte[] bytes = data.getBytes();
                     conn.getOutputStream().write(bytes);//把数据以流的方式写给服务
                     int code = conn.getResponseCode();
                     if(code == 200){
                         InputStream is = conn.getInputStream();
                         String  result = StreamTools.readStream(is);
                         Message mas= Message.obtain();
                         mas.what = SUCCESS;
                         mas.obj = result;
                         handler.sendMessage(mas);
                         
         }else{
             Message mas = Message.obtain();
             mas.what = ERROR;
             handler.sendMessage(mas);
             }
                     
                     
                }catch(Exception e){
                     Message mas = Message.obtain();
                        mas.what = ERROR;
                        handler.sendMessage(mas);
                }
            };
        }.start();
    }

}

MainActivity.java




package
com.itcast.forget; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void forget(View view){ Intent intent = new Intent(this,ForgetActivity.class); startActivity(intent); } }

StreamTools.java

package com.itcast.forget;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class StreamTools {
    
    public static String readStream(InputStream is){
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len = -1;
            while ((len = is.read(buffer))!=-1) {
                baos.write(buffer,0,len);
            }
            baos.close();
            return new String(baos.toByteArray());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return "";
        }
    }
}

activity_forget.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     android:background="#E6E6E6"
     
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:layout_margin="10dp"
        android:text="请输入您当时绑定的手机号:" />

   <EditText
        android:id="@+id/et_phone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:inputType="phone" >

    </EditText>

   <Button
       android:onClick="btn_ok"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="#3C8DC4"
       android:textColor="#FFFFFF"
       android:text="确定" />

</LinearLayout>

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#E6E6E6"
     android:orientation="vertical">
     <ImageView 
         android:id="@+id/iv_head"
         android:layout_width="50dp"
         android:layout_height="50dp"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="40dp"
         android:src="@drawable/ic_launcher"/>
     <LinearLayout 
         android:id="@+id/layout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/iv_head"
         android:layout_margin="10dp"
         android:background="#FFFFFF"
         android:orientation="vertical">
         <RelativeLayout 
             android:id="@+id/rl_username"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_margin="10dp">
             <TextView 
                 android:id="@+id/tv_name"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerVertical="true"
                 android:text="账号"/>
             <EditText 
                 android:id="@+id/et_number"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="5dp"
                 android:layout_toRightOf="@+id/tv_name"
                 android:background="@null"/>
         </RelativeLayout>
         <View 
             android:layout_width="match_parent"
             android:layout_height="2dp"
             android:background="#E6E6E6"/>
          <RelativeLayout 
             android:id="@+id/rl_userpsd"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_margin="10dp">
             <TextView 
                 android:id="@+id/tv_psw"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerVertical="true"
                 android:text="密码"/>
             <EditText 
                 android:id="@+id/et_password"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="5dp"
                 android:layout_toRightOf="@+id/tv_psw"
                 android:inputType="textPassword"
                 android:background="@null"/>
         </RelativeLayout>
         
     </LinearLayout>
     <Button 
         android:onClick="login"
         android:id="@+id/btn_login"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_below="@+id/layout"
         android:layout_centerHorizontal="true"
         android:layout_marginLeft="10dp"
         android:layout_marginRight="10dp"
         android:layout_marginTop="20dp"
         android:background="#3C8DC4"
         android:text="登录"
         android:textColor="#FFFFFF"/>

     <Button
         android:onClick="forget"
         android:id="@+id/btn_forget"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
         android:layout_marginRight="10dp"
         android:layout_below="@+id/btn_login"
         android:background="#E6E6E6"
         android:text="忘记密码" />
   
</RelativeLayout>
添加权限:

<
uses-permission android:name="android.permission.INTERNET"/>

PHP代码:

<?php
if(isset($_POST['button'])){
    $phone=$_POST['phone'];//得到用户输入的手机号 
     if($phone == "123456"){//假设用户的手机号为123456
        echo '哈哈。。。成功忘记密码';
        }else{
         echo '操作失败!';
}
    }else{
    echo 'test!';
}
?>
原文地址:https://www.cnblogs.com/kangyaping/p/5754955.html