连续好几天学习都没有什么进展,然而在今天这个烂漫的日子。突然有了学习的动力。想起来前几日老师给布置的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代码:

<?phpif(isset($_POST['button'])){    $phone=$_POST['phone'];//得到用户输入的手机号      if($phone == "123456"){//假设用户的手机号为123456        echo '哈哈。。。成功忘记密码';        }else{         echo '操作失败!';}    }else{    echo 'test!';}?>

 

转载于:https://www.cnblogs.com/kangyaping/p/5754955.html

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android(安卓)获取Google Weather API 并通过Xml和JSON解析数据
  5. 增加android 拥有root权限的服务
  6. Android利用mediacodec进行视频H264编码解码播放
  7. Android去除TextView文本中的默认内边距
  8. Android大图片裁剪终极解决方案(上:原理分析)
  9. Android(安卓)LitePal的简单使用

随机推荐

  1. Android(安卓)webview 关于返回键和历史
  2. 【React Native开发】 - react-native-sw
  3. 安卓源码搜集 文档(不断更新)
  4. Android(安卓)MVP+Retrofit+RxJava实践小
  5. 当 Activity 以全屏模式运行时,如何允许 A
  6. Android学习笔记——设置EditText只输入
  7. 常用的android studio插件
  8. Android手动显示和隐藏软键盘方法总结
  9. Android(安卓)Studio更新SDK后出现的问题
  10. Android(安卓)获取Inflate得到的view的宽