Android忘记密码功能实现
16lz
2021-01-25
连续好几天学习都没有什么进展,然而在今天这个烂漫的日子。突然有了学习的动力。想起来前几日老师给布置的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
更多相关文章
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android(安卓)获取Google Weather API 并通过Xml和JSON解析数据
- 增加android 拥有root权限的服务
- Android利用mediacodec进行视频H264编码解码播放
- Android去除TextView文本中的默认内边距
- Android大图片裁剪终极解决方案(上:原理分析)
- Android(安卓)LitePal的简单使用