zoukankan      html  css  js  c++  java
  • 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!';
    }
    ?>
  • 相关阅读:
    NHibernate之映射文件配置说明(转载3)
    NHibernate之映射文件配置说明(转载2)
    NHibernate之映射文件配置说明(转载1)
    NHibernate+NUnit (VS2012+SQL Server2008) (转)
    ASP.NET MVC全局观
    使用Razor来进行页面布局
    视图引擎输出字符串
    @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
    Html.Action和Html.RederAction来创建子视图
    从客户端检测到有潜在危险的Request.Form值
  • 原文地址:https://www.cnblogs.com/kangyaping/p/5754955.html
Copyright © 2011-2022 走看看