Получение данных из 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;
}

Это мой модельный класс для сахарного ORM

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;
}
}
2
0
203
1

Ответы 1

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

    List<User> user = User.findWithQuery(User.class,"SELECT * FROM USER WHERE email = ?",email);
    for (User users:user){
        nameLabel.setText(users.getFistname().toString());
    }

Другие вопросы по теме