我一直在尝试理解RxJava 2以及如何使用它。我还试图通过将我的代码转换为RxJava代码来理解RxJava。但我似乎还是不能理解它。如果有人能进一步解释如何重新编码,我会很有帮助的。
这是我尝试用RxJava编写的代码:
private static User getUserFomCursor(Cursor cursor) {
if (cursor == null || cursor.getCount() == 0) {
return null;
} else {
int myUserIDColumnIndex = cursor.getColumnIndex("_USER_ID");
int usernameColumnIndex = cursor.getColumnIndex("USER_NAME");
int userPasswordColumnIndex = cursor.getColumnIndex("USER_PASSWORD");
int firstNameColumnIndex = cursor.getColumnIndex("FIRST_NAME");
int middleNameColumnIndex = cursor.getColumnIndex("MIDDLE_NAME");
int lastNameColumnIndex = cursor.getColumnIndex("LAST_NAME");
int emailAddressColumnIndex = cursor.getColumnIndex("EMAIL_ADDRESS");
int phoneNumberColumnIndex = cursor.getColumnIndex("PHONE_NUMBER");
int profilePictureColumnIndex = cursor.getColumnIndex("PROFILE_PICTURE");
try {
User user = new User(
cursor.getInt(myUserIDColumnIndex), cursor.getString(usernameColumnIndex),
cursor.getString(userPasswordColumnIndex), cursor.getString(firstNameColumnIndex),
cursor.getString(middleNameColumnIndex), cursor.getString(lastNameColumnIndex),
cursor.getString(emailAddressColumnIndex), cursor.getString(phoneNumberColumnIndex),
cursor.getString(profilePictureColumnIndex));
return user;
} catch (Exception e) {
return null;
}
}
}
public ArrayList<User> getMyUsers() {
User user = new User();
ArrayList <User> userArrayList = new ArrayList<User>();
open();
try {
Cursor cursor = userLocalDatabase.query("User", null, null, null, null, null, null);
while (cursor.moveToNext()) {
user = getUserFomCursor(cursor);
userArrayList.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
close();
return userArrayList;
}我试图将getMyUsers()方法变成一个可观察的对象。但我仍然对如何处理这个问题感到困惑。如果有人能给我指出正确的方向,我将不胜感激。:)
https://stackoverflow.com/questions/41504959
复制相似问题