我的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)
答案 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");