zoukankan      html  css  js  c++  java
  • android项目——登录界面

      这周没啥新的学习感受,因为一直是在用学到的内容做案例。

      上周敲出了一个登录界面的程序,登录之前必须要进行注册,进入注册界面后可以进行注册,将第一次注册时的用户名和密码写到两个文档中,然后注册完成后会跳转到登录界面,然后输入注册好的用户名和密码,输入正确后跳转到应用的界面(一个未做好的九宫格界面)。

      一、Java代码:

      1、注册时将用户名和密码要写到两个文件里,密码输入两次,如果两次输入不一致无法写入,用户名和两次输入的密码如果有未填写的也无法写入,无法注册。

      2、登录时定义两个字符串分别是读入之前写入的用户名和密码,然后和用户输入的用户名、密码判断是否相同,不相同无法登录。

      3、修改密码放在了九宫格界面中,如要修改密码在该界面点击修改密码后跳转到修改密码的界面,只是修改的密码与之前注册的密码不在一个文件,即修改密码不会改变注册的密码。

      4、忘记密码还未设计具体的代码,因为具体的逻辑还没搞清楚。

      二、具体代码如下:

      1、注册代码

     1 package cn.itcast.activity_login;
     2 
     3 import java.io.FileOutputStream;
     4 import cn.itcast.activity_login.R;
     5 import android.os.Bundle;
     6 import android.app.Activity;
     7 import android.content.Context;
     8 import android.content.Intent;
     9 import android.text.TextUtils;
    10 import android.view.Menu;
    11 import android.view.View;
    12 import android.view.View.OnClickListener;
    13 import android.widget.Button;
    14 import android.widget.EditText;
    15 import android.widget.Toast;
    16 
    17 public class MainActivity_register extends Activity {
    18     private EditText et_rUN;
    19     private EditText et_rUNP;
    20     private EditText et_againRUNP;
    21     private Button btn_register;
    22     @Override
    23     protected void onCreate(Bundle savedInstanceState) {
    24         super.onCreate(savedInstanceState);
    25         setContentView(R.layout.activity_main_activity_register);
    26         et_rUN=(EditText)findViewById(R.id.et_rUN);
    27         et_rUNP=(EditText)findViewById(R.id.et_rUNP);
    28         et_againRUNP=(EditText)findViewById(R.id.et_againRUNP);
    29         btn_register=(Button)findViewById(R.id.btn_register);
    30         btn_register.setOnClickListener(new MyOnClicklistener());
    31     }
    32      private class MyOnClicklistener implements OnClickListener
    33      {
    34 
    35         @Override
    36         public void onClick(View view) {
    37             String saveRUN=et_rUN.getText().toString().trim();
    38             String saveRUNP=et_rUNP.getText().toString().trim();
    39             String saveAgainRUNP=et_againRUNP.getText().toString().trim();
    40             // TODO Auto-generated method stub
    41             switch(view.getId())
    42             {
    43             case R.id.btn_register:
    44                 if(TextUtils.isEmpty(saveRUN)||TextUtils.isEmpty(saveRUNP)||TextUtils.isEmpty(saveAgainRUNP))
    45                 {
    46                     Toast.makeText(MainActivity_register.this, "您有未输入的信息!",Toast.LENGTH_SHORT).show();
    47                 }
    48                 else
    49                 {
    50                     if(saveRUNP.equals(saveAgainRUNP))
    51                     {
    52                         FileOutputStream fosSaveRUN;
    53                         FileOutputStream fosSaveRUNP;
    54                         try
    55                         {
    56                             fosSaveRUN=openFileOutput("saveRUN.txt",Context.MODE_APPEND);
    57                             fosSaveRUN.write(saveRUN.getBytes());
    58                             fosSaveRUN.close();
    59                             fosSaveRUNP=openFileOutput("saveRUNP.txt",Context.MODE_APPEND);
    60                             fosSaveRUNP.write(saveRUNP.getBytes());
    61                             fosSaveRUNP.close();
    62                         }
    63                         catch(Exception e)
    64                         {
    65                             e.printStackTrace();
    66                         }
    67                         Toast.makeText(MainActivity_register.this, "已成功注册!
    用户名:"+saveRUN+"
    密码:"+saveRUNP,Toast.LENGTH_SHORT).show();
    68                         Intent intent=new Intent(MainActivity_register.this,MainActivity_login.class);
    69                         startActivity(intent);
    70                     }
    71                     else
    72                     {
    73                         Toast.makeText(MainActivity_register.this, "两次输入的密码不一致!",Toast.LENGTH_SHORT).show();
    74                     }
    75                 }
    76                 break;
    77         }
    78          
    79      }
    80 }
    81 
    82     @Override
    83     public boolean onCreateOptionsMenu(Menu menu) {
    84         // Inflate the menu; this adds items to the action bar if it is present.
    85         getMenuInflater().inflate(R.menu.main_activity_register, menu);
    86         return true;
    87     }
    88 
    89 }
    注册代码

      2、登录代码

      1 package cn.itcast.activity_login;
      2 
      3 
      4 import java.io.FileInputStream;
      5 import android.os.Bundle;
      6 import android.app.Activity;
      7 import android.content.Intent;
      8 import android.text.TextUtils;
      9 import android.util.Log;
     10 import android.view.Menu;
     11 import android.view.View;
     12 import android.view.View.OnClickListener;
     13 import android.widget.Button;
     14 import android.widget.CheckBox;
     15 import android.widget.EditText;
     16 import android.widget.Toast;
     17 
     18 public class MainActivity_login extends Activity {
     19     private EditText et_un;
     20     private EditText et_upw;
     21     private CheckBox ck_rupw;
     22     private Button bt_login;
     23     private Button bt_forget;
     24     private Button bt_register;
     25 
     26     @Override
     27     protected void onCreate(Bundle savedInstanceState) {
     28         super.onCreate(savedInstanceState);
     29         setContentView(R.layout.activity_main_activity_login);
     30         et_un = (EditText) findViewById(R.id.et_un);
     31         et_upw = (EditText) findViewById(R.id.et_upw);
     32         ck_rupw = (CheckBox) findViewById(R.id.ck_rupw);
     33         bt_login = (Button) findViewById(R.id.bt_login);
     34         bt_forget = (Button) findViewById(R.id.bt_forget);
     35         bt_register=(Button) findViewById(R.id.bt_register);
     36         bt_login.setOnClickListener(new MyOnClickListener());
     37         bt_forget.setOnClickListener(new MyOnClickListener());
     38         bt_register.setOnClickListener(new MyOnClickListener());
     39     }
     40 
     41 
     42     @Override
     43     public boolean onCreateOptionsMenu(Menu menu) {
     44         // Inflate the menu; this adds items to the action bar if it is present.
     45         getMenuInflater().inflate(R.menu.main_activity_login, menu);
     46         return true;
     47     }
     48     private class MyOnClickListener implements OnClickListener{
     49 
     50         @Override
     51         public void onClick(View view) {
     52             String username=et_un.getText().toString();                    
     53             String password=et_upw.getText().toString();
     54             // TODO Auto-generated method stub
     55             switch(view.getId()){
     56                 case R.id.bt_login:
     57                     if(TextUtils.isEmpty(username)||TextUtils.isEmpty(password)){
     58                         Toast.makeText(MainActivity_login.this, "用户名或密码不能为空",Toast.LENGTH_SHORT).show();
     59                     }else{
     60                             String readRUN="";
     61                             String readRUNP="";
     62                             try
     63                             {
     64                                 FileInputStream fisReadRUN=openFileInput("saveRUN.txt");
     65                                 byte[] bufferRUN=new byte[fisReadRUN.available()];
     66                                 fisReadRUN.read(bufferRUN);
     67                                 readRUN=new String(bufferRUN);
     68                                 fisReadRUN.close();
     69                                 //Toast.makeText(MainActivity_login.this, "用户名"+readRUN,Toast.LENGTH_SHORT).show();
     70                                 FileInputStream fisReadRUNP=openFileInput("saveRUNP.txt");
     71                                 byte[] bufferRUNP=new byte[fisReadRUNP.available()];
     72                                 fisReadRUNP.read(bufferRUNP);
     73                                 readRUNP=new String(bufferRUNP);
     74                                 fisReadRUNP.close();
     75                                 //Toast.makeText(MainActivity_login.this, "密码"+readRUNP,Toast.LENGTH_SHORT).show();
     76                             }
     77                             catch(Exception e)
     78                             {
     79                                 e.printStackTrace();
     80                             }
     81                             if(username.equals(readRUN)&&password.equals(readRUNP))
     82                             {
     83                                 if(ck_rupw.isChecked()){
     84                                     Log.i("用户名为:"+username,"密码为:"+password);
     85                                     }
     86                                 else{
     87                                     Log.i("不用记住用户名", "不用记住密码");
     88                                 }
     89                                 Intent intentL=new Intent(MainActivity_login.this,MainActivity_logined.class);
     90                                 startActivity(intentL);
     91                             }
     92                             else
     93                             {
     94                                 Toast.makeText(MainActivity_login.this, "用户名或密码输入错误",Toast.LENGTH_SHORT).show();
     95                             }
     96                         }
     97                     break;
     98                 case R.id.bt_forget:
     99                         Intent intentC=new Intent(MainActivity_login.this,MainActivity_forget.class);
    100                         startActivity(intentC);
    101                     break;
    102                 case R.id.bt_register:
    103                     Intent intentR=new Intent(MainActivity_login.this,MainActivity_register.class);
    104                     startActivity(intentR);
    105                     break;
    106                     }
    107             
    108          }
    109      }
    110     
    111     /*public void click(View view){
    112         Intent intent=new Intent(this,MainActivity_logined.class);
    113         startActivity(intent);
    114     }*/
    115 }
    登录代码

      3、修改密码

     1 package cn.itcast.activity_login;
     2 
     3 import android.os.Bundle;
     4 import android.app.Activity;
     5 import android.content.Intent;
     6 import android.text.TextUtils;
     7 import android.view.Menu;
     8 import android.view.View;
     9 import android.view.View.OnClickListener;
    10 import android.widget.Button;
    11 import android.widget.EditText;
    12 import android.widget.Toast;
    13 
    14 public class MainActivity_changePW extends Activity {
    15     private EditText et_before;
    16     private EditText et_after;
    17     private EditText et_again;
    18     private Button bt_submit;
    19     @Override
    20     protected void onCreate(Bundle savedInstanceState) {
    21         super.onCreate(savedInstanceState);
    22         setContentView(R.layout.activity_main_activity_change_pw);
    23         et_before=(EditText)findViewById(R.id.et_before);
    24         et_after=(EditText)findViewById(R.id.et_after);
    25         et_again=(EditText)findViewById(R.id.et_again);
    26         bt_submit=(Button)findViewById(R.id.bt_submit);
    27         bt_submit.setOnClickListener(new MyOnClickListener());
    28     }
    29     private class MyOnClickListener implements OnClickListener
    30     {
    31 
    32         @Override
    33         public void onClick(View v) {
    34             String before=et_before.getText().toString();
    35             String after=et_after.getText().toString();
    36             String again=et_again.getText().toString();
    37             // TODO Auto-generated method stub
    38             switch(v.getId())
    39             {
    40             case R.id.bt_submit:
    41                 if(TextUtils.isEmpty(before)||TextUtils.isEmpty(after)||TextUtils.isEmpty(again))
    42                 {
    43                     Toast.makeText(MainActivity_changePW.this, "您有未输入的密码!",Toast.LENGTH_SHORT).show();
    44                 }
    45                 else
    46                 {
    47                     if(after.equals(again))
    48                     {
    49                         //Toast.makeText(MainActivity_changePW.this, "密码已成功修改!
    "+after+"
    "+again,Toast.LENGTH_SHORT).show();
    50                         Toast.makeText(MainActivity_changePW.this, "密码已成功修改!",Toast.LENGTH_SHORT).show();
    51                         Intent intent1=new Intent(MainActivity_changePW.this,MainActivity_logined.class);
    52                         startActivity(intent1);
    53                     }
    54                     else
    55                     {
    56                         Toast.makeText(MainActivity_changePW.this, "修改密码两次输入不一致!",Toast.LENGTH_SHORT).show();
    57                     }
    58                 }
    59                 break;
    60             }
    61         }
    62         
    63     }
    64 
    65     @Override
    66     public boolean onCreateOptionsMenu(Menu menu) {
    67         // Inflate the menu; this adds items to the action bar if it is present.
    68         getMenuInflater().inflate(R.menu.main_activity_change_pw, menu);
    69         return true;
    70     }
    71 
    72 }
    修改密码 

      三、存在的问题

      1、用户名和密码写入时应该是可以重写,而不是追加,否侧无法进行修改密码;

      2、每一次注册时不可能只写到一个文件中,应该是说每次注册时会写到不同的文件里,这样每个用户的资料就分开了,这样也方便之后查找用户资料;

      3、注册时若用户名相同无法注册成功,这就要涉及所有用户资料的遍历,这也是以后要改进的地方;

      4、修改密码时应该已经可以对用户资料进行操作,如何获取到该用户的资料的代码还没想出来;

  • 相关阅读:
    第一次博客作业
    编辑器、编译器、文件、IDE等常见概念辨析
    树、二叉树、查找知识点总结
    二叉排序树
    线性表知识点总结
    c语言文件
    第二次博客作业: 函数+进制转换器v1.0beta
    python作业1
    c语言知识
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/jxtcnblogs/p/5520451.html
Copyright © 2011-2022 走看看