Java 使用EditText值检查SQLite用户名

Java 使用EditText值检查SQLite用户名,java,android,sqlite,Java,Android,Sqlite,嗨,我在登录时有点问题,实际上我正在尝试通过检查数据库中的用户名和编辑文本值来测试登录,但它不起作用。下面是我的代码。 我对获取EditTextvalue有点困惑 package com.example.employeemanager; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteD

嗨,我在登录时有点问题,实际上我正在尝试通过检查数据库中的用户名和编辑文本值来测试登录,但它不起作用。下面是我的代码。 我对获取EditTextvalue有点困惑

package com.example.employeemanager;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Login extends Activity {

    SQLiteDatabase db;
    EditText unameedt;
    String unam;
    String pass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        Button logbtn = (Button) findViewById(R.id.loginbtn);
        Button signup = (Button) findViewById(R.id.signup);
        EditText unameedt = (EditText) findViewById(R.id.editText1);
        EditText passedt = (EditText) findViewById(R.id.editText2);
        db = openOrCreateDatabase("Employeemanager", MODE_PRIVATE, null);
        unam = unameedt.getText().toString();
        pass = passedt.getText().toString();
        logbtn.setOnClickListener(new OnClickListener()

        {

            public void onClick(View v) {
                Cursor c = db.rawQuery(
                        "SELECT  username, password from Employee", null);

                if (c != null) {

                    if (c.moveToFirst()) {
                        do {
                            String uname = c.getString(c
                                    .getColumnIndex("username"));
                            String upass = c.getString(c
                                    .getColumnIndex("password"));

                            if (uname.equals(unam)) {
                                StartActivity(new Intent(Login.this, Home.class));

                            }

                        } while (c.moveToNext());

                    }

                }

            }
        });

        signup.setOnClickListener(new OnClickListener()

        {

            @Override
            public void onClick(View v) {
                startActivity(new Intent(Login.this, Emp_signup.class));
            }

        });

    }

}
把你的

unam = unameedt.getText().toString();
pass=passedt.getText().toString();
进入butonClick事件

logbtn.setOnClickListener(new OnClickListener()

{
unam = unameedt.getText().toString();
pass=passedt.getText().toString();

});
把你的

unam = unameedt.getText().toString();
pass=passedt.getText().toString();
进入butonClick事件

logbtn.setOnClickListener(new OnClickListener()

{
unam = unameedt.getText().toString();
pass=passedt.getText().toString();

});

这很简单,但在开始学习Android时看起来是件大事。你现在做的是在onCreate中获得价值

    unam = unameedt.getText().toString();
    pass = passedt.getText().toString();
因此,现在
uname
pass
空的
,因为在创建时没有为相应的
EditText
设置值

OnClick
方法中,您可以比较Edittext和数据库中的值

    if (uname.equals(unam)) {//if(usernamefromDatabase.equals(emptyValue))
         StartActivity(new Intent(Login.this, Home.class)); 
      }
这就是问题所在

现在要做的是在onClick中获取
una
pass

    unam = unameedt.getText().toString();
    pass = passedt.getText().toString();

   if (uname.equals(unam)) {//if(usernamefromDatabase.equals(valueyouentered))
         StartActivity(new Intent(Login.this, Home.class)); 
      }

它现在应该可以工作了。

它很简单,但在开始学习Android时看起来是件大事。你现在要做的是你在onCreate中获得了价值

    unam = unameedt.getText().toString();
    pass = passedt.getText().toString();
因此,现在
uname
pass
空的
,因为在创建时没有为相应的
EditText
设置值

OnClick
方法中,您可以比较Edittext和数据库中的值

    if (uname.equals(unam)) {//if(usernamefromDatabase.equals(emptyValue))
         StartActivity(new Intent(Login.this, Home.class)); 
      }
这就是问题所在

现在要做的是在onClick中获取
una
pass

    unam = unameedt.getText().toString();
    pass = passedt.getText().toString();

   if (uname.equals(unam)) {//if(usernamefromDatabase.equals(valueyouentered))
         StartActivity(new Intent(Login.this, Home.class)); 
      }
现在应该可以了