Получение данных из Sugar ORM через Shared Preference

Я пытаюсь создать фрагмент обновления информации о пользователе в моем приложении для Android. На моей странице входа в систему я попросил пользователя ввести свой адрес электронной почты и пароль для входа в систему. Затем, когда я попадаю к фрагменту информации о пользователе, я хочу отобразить всю информацию о пользователе. Поэтому я установил общий доступ к своему электронному письму на своей странице входа в систему и получил его в своем фрагменте информации о пользователе. Теперь мне нужно выяснить, как извлечь данные из моей базы данных, используя это письмо. Я использую Sugar ORM. Есть ли способ, который позволил бы мне получить данные, соответствующие адресу электронной почты. Например: имя, фамилия и т. д. К сожалению, мой запрос ниже не работает.

SharedPreferences sharedpreferences;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
   View rootView= inflater.inflate(R.layout.profile, container, false);
   TextView emailLabel=(TextView) rootView.findViewById(R.id.textView3);
    TextView nameLabel=(TextView) rootView.findViewById(R.id.textView4);
    sharedpreferences = getContext().getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
    String email=sharedpreferences.getString(Email,"");
    List<User>user_email=User.findWithQuery(User.class,"SELECT * from USER WHERE email = ?",email);
    emailLabel.setText(email);
    nameLabel.setText(user_email);

    return rootView;
}

Это мой модельный класс для сахара ОРМ

public class User extends SugarRecord<User> {
String fistname;
String lastname;
String email;
String password;
String confirmpassword;

public User() {
}

public User(String fistname, String lastname, String email, String password, String confirmpassword) {
    this.fistname = fistname;
    this.lastname = lastname;
    this.email = email;
    this.password = password;
    this.confirmpassword = confirmpassword;
}
}

1 ответ

Разобрался, ребята!

    List<User> user = User.findWithQuery(User.class,"SELECT * FROM USER WHERE email = ?",email);
    for (User users:user){
        nameLabel.setText(users.getFistname().toString());
    }
Другие вопросы по тегам