我如何从父母(用户)的登录名中获取信息

时间:2019-03-08 15:03:31

标签: java android database sqlite

我的Parent_home活​​动需要已登录用户的数据(姓名,姓氏,ID),我的登录活动只能检查数据库是否具有父(用户)凭据,我想在登录活动中检查是否有父母之后,来自数据库的父数据将提供给Parent_home活​​动

DatabaseHelper.java

package edu.angelo.parentsportal;

import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import java.util.ArrayList;

public class Login extends AppCompatActivity implements View.OnClickListener {

private EditText editTextEmailPhone;
private EditText editTextPassword;
private Button Login;
private ProgressDialog progressDialog;
DatabaseHelper mydb;
SQLiteDatabase sqLiteDatabase;
CustomAdapter customAdapter;
Cursor cursor;
ArrayList<ParentModel> arrayList;


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


    editTextEmailPhone = findViewById(R.id.input_username);
    editTextPassword = findViewById(R.id.input_password);
    findViewById(R.id.btn_register).setOnClickListener(Login.this);

    progressDialog = new ProgressDialog(this);

    mydb =new DatabaseHelper(this);
    sqLiteDatabase = mydb.getReadableDatabase();
}

@Override
public void onClick(View view) {
    switch (view.getId()){
        case R.id.btn_register: {
            userLogin();
            break;
        }

    }


}


private void userLogin() {
    String email = editTextEmailPhone.getText().toString().trim();
    String password = editTextPassword.getText().toString().trim();

    if (email.isEmpty()) {
        editTextEmailPhone.setError("Email or Phone Number is required");
        editTextEmailPhone.requestFocus();
        return;
    }

    if (password.isEmpty()) {
        editTextPassword.setError("Password is required");
        editTextPassword.requestFocus();
        return;
    }
    if (password.length()<6 ){
        editTextPassword.setError("Minimum of length of password should be 6");
        editTextPassword.requestFocus();
        return;
    }
    //if the email&pass is not empty
    //display dialog
    else{
        progressDialog.setMessage("Please Wait...");
        progressDialog.show();

        if (mydb.getParentLoginData(editTextEmailPhone.getText().toString(),editTextPassword.getText().toString()).size()>0) {
            progressDialog.dismiss();
            DatabaseHelper mydb = new DatabaseHelper(this);
            SharedPrefs.saveSharedSetting(this, "CaptainCode", "false");
            Intent intent = new Intent(Login.this, Parent_Home.class);
           // intent or something to forward the data from the selected parent row from the database
            Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
            startActivity(intent);
            finish();
        }

        else {
            Toast.makeText(getApplicationContext(), "Login error", Toast.LENGTH_SHORT).show();
            progressDialog.dismiss();
            return;
        }
    }
}

}

Login.java

package edu.angelo.parentsportal;

public class ParentModel {
public String ID;
public String Name;
public String Surname;
public String Email;
public String Phone_number;
public String Password;

public String getID() {
    return ID;
}

public void setID(String ID) {
    this.ID = ID;
}

public String getName() {
    return Name;
}

public void setName(String name) {
    Name = name;
}

public String getSurname() {
    return Surname;
}

public void setSurname(String surname) {
    Surname = surname;
}

public String getEmail() {
    return Email;
}

public void setEmail(String email) {
    Email = email;
}

public String getPhone_number() {
    return Phone_number;
}

public void setPhone_number(String phone_number) {
    Phone_number = phone_number;
}

public String getPassword() {
    return Password;
}

public void setPassword(String password) {
    Password = password;
}
}

ParentModel.java(如果需要)

def submit():
    ans.sort()
    answer.sort()
    if ans == answer:
        root2.destroy()
        root3.destroy()
        root4.destroy()
        label2.destroy()
        label3.destroy()
        load=Image.open('win.png')
        render=ImageTk.PhotoImage(load)
        img=Label(image=render)
        img.image=render
        img.grid(row=0,column=15)
        label4=Label(text="CONGRATULATIONS YOU WIN",font="Times 18")
        label4.grid(row=10,column=15,pady=20) 

1 个答案:

答案 0 :(得分:0)

通过Intent启动活动时,您可以使用Intent Extras将值传递给活动。

所以您使用类似:-

    ArrayList<ParentModel> parents = mydb.getParentLoginData(editTextEmailPhone.getText().toString(),editTextPassword.getText().toString());

    if (parents.size()>0) {
        progressDialog.dismiss();
        DatabaseHelper mydb = new DatabaseHelper(this);
        SharedPrefs.saveSharedSetting(this, "CaptainCode", "false");
        Intent intent = new Intent(Login.this, Parent_Home.class);
        intent.putExtra("IK_CURRENTPARENTID",parents[0].getId());
        intent.putExtra("IK_CURRENTPARENTNAME",parents[0].getName());
        intent.putExtra("IK_CURRENTPARENTSURNAME",parents[0].getSurname();
       // intent or something to forward the data from the selected parent row from the database
        Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
        startActivity(intent);
        finish();
    }

然后,您从 Parent_Home 活动中的Intent Extras中检索值。使用类似 onCreate 方法中的方法:-

 currentId = getIntent().getStringExtra("IK_CURRENTPARENTID");
 currentName = getIntent().getStringExtra("IK_CURRENTPARENTNAME");
 currentSurName = getIntent().getStringExtra("IK_CURRENTPARENTSURNAME");
  • 请注意,以上假设假定currentId,currentName和currentSurName已声明为类变量。
  • 通常,您还需要为Intent Extra键评估程序定义常量,而不是对其进行硬编码。
  • 以上是原理代码,尚未运行或测试,因此可能包含一些错误。