Получение данных из Sugar ORM через Shared Preference - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь создать фрагмент обновления информации о пользователе в моем приложении для 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;
}
}

1 Ответ

0 голосов
/ 20 мая 2018

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

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