在“登录”页面中,将硬编码值与用户名,密码作为输入进行比较

时间:2013-06-20 09:45:30

标签: android login

我正在处理应用程序的“登录”页面。我想将硬编码值与用户名,密码作为输入进行比较。 目前使用的代码行是:

    usr = (EditText) findViewById(R.id.usr);   
      pwd = (EditText) findViewById(R.id.pwd);    
     error = (TextView) findViewById(R.id.tv_error);     
    String n1="i077653" ;  
      if(n1.equals(usr.getText().toString()) && pwd.equals("1234"))    
     {          error.setText("login success");     }         
     else     {      error.setText("LOGIN failed");         }
 .

但它不起作用。你能建议一个解决方案吗?

完整代码: XML文件:

XML file :<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="#FF6633"
        android:paddingLeft="60dp"
        android:paddingRight="100dp"
        android:text="@string/SA" />

    <TextView
        android:id="@+id/tv_pw"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/pwd"
        android:layout_alignBottom="@+id/pwd"
        android:layout_alignLeft="@+id/tv_un"
        android:text="Password:"
        android:textColor="#444444"
        android:textSize="7pt" />

    <TextView
        android:id="@+id/tv_un"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/usr"
        android:layout_alignBottom="@+id/usr"
        android:layout_alignParentLeft="true"
        android:text="User Name:"
        android:textColor="#444444"
        android:textSize="7pt" />

    <EditText
        android:id="@+id/usr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/btn_login"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="20dp"
        android:ems="7"
        android:hint="@string/User" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/pwd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/usr"
        android:layout_below="@+id/usr"
        android:layout_marginTop="18dp"
        android:ems="7"
        android:hint="@string/Pwd"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/pwd"
        android:layout_marginTop="18dp"
        android:layout_toRightOf="@+id/tv_un"

        android:text="@string/Button" />
<TextView
        android:id="@+id/tv_error"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:textSize="7pt"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/btn_login"
        android:layout_marginRight="9dip"
        android:layout_marginTop="15dip"
        android:layout_marginLeft="15dip"
        android:textColor="#AA0000"
        android:text=""/>



   </RelativeLayout>

Java文件:

package com.example.survey;

import android.os.Bundle;

import android.app.Activity;
import android.text.Editable;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends Activity {
    EditText usr ;
    EditText pwd ;
    Button  log;
    TextView error;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


   public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void  check(View view){
    usr = (EditText) findViewById(R.id.usr);
    pwd = (EditText) findViewById(R.id.pwd);
    error = (TextView) findViewById(R.id.tv_error);
    String n1="i077653" ;


    if(n1.equalsIgnoreCase(usr.getText().toString()) && pwd.equalsIgnoreCase("1234"))    
    {          error.setText("login success");     }         
    else     {      error.setText("LOGIN failed");         }


    }
    }

4 个答案:

答案 0 :(得分:1)

将您的代码更改为:

  if(n1.equals(usr.getText().toString()) && (pwd.getText().toString()).equals("1234"))    

这里pwd是编辑文本变量。它包含其refferance而不是输入的值。

编辑:()

公共类MainActivity扩展Activity {         EditText usr;         EditText pwd;         按钮日志;         TextView错误;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    usr = (EditText) findViewById(R.id.usr);
    pwd = (EditText) findViewById(R.id.pwd);
    error = (TextView) findViewById(R.id.tv_error);
    log=(Button) findViewById(R.id.tv_log);
    String n1="i077653" ;

   log.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {

             if(n1.equalsIgnoreCase(usr.getText().toString()) &&(pwd.getText().toString()).equalsIgnoreCase("1234"))   
     { 

     error.setText("login success");     

     }         
     else{

     error.setText("LOGIN failed"); 

     }
    }

   });

    }//end of oncreate
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    }

建议:请遵循此tutorial

答案 1 :(得分:0)

尝试

  if(n1.equalsIgnoreCase(usr.getText().toString()) && pwd.equalsIgnoreCase("1234"))    
     {          error.setText("login success");     }         
     else     {      error.setText("LOGIN failed");         }

但仅当User = i077653 AND password = 1234时才会阻止登录 如果你想“如果用户= i077653或密码= 1234”改变&amp;&amp;与||

答案 2 :(得分:0)

String n1="i077653" ;  
  if(n1.equals(usr.getText().toString()) && pwd.equals("1234"))    
 {          error.setText("login success");     }         
 else     {      error.setText("LOGIN failed");         }

在某些事件(例如onclick或其他事件

)上尝试使用此代码

答案 3 :(得分:0)

 if(n1.equals(usr.getText().toString()) && "1234".equals(pwd.getText().toString())){

   // login success
}else{
 ...
}