2.1 Lifecycle public class MainActivity extends AppCompatActivity implements LifecycleOwner { private LifecycleRegistry lifecycleRegistry; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lifecycleRegistry = new LifecycleRegistry(this); lifecycleRegistry.markState(Lifecycle.State.CREATED); } @Override protected void onStart() { super.onStart(); lifecycleRegistry.markState(Lifecycle.State.STARTED); } @NonNull @Override public Lifecycle getLifecycle() { return lifecycleRegistry; } } 2.2 LiveData public class UserViewModel extends ViewModel { private MutableLiveData<String> userNameLiveData; public LiveData<String> getUserNameLiveData() { if (userNameLiveData == null) { userNameLiveData = new MutableLiveData<>(); } return userNameLiveData; } public void loadUserName() { String username = "John Doe"; userNameLiveData.setValue(username); } } 2.3 Room @Entity(tableName = "users") public class User { @PrimaryKey public int id; @ColumnInfo(name = "user_name") public String userName; } @Dao public interface UserDao { @Query("SELECT * FROM users") List<User> getAllUsers(); @Insert void insertUser(User user); @Update void updateUser(User user); @Delete void deleteUser(User user); } @Database(entities = {User.class}, version = 1) public abstract class AppDatabase extends RoomDatabase { public abstract UserDao userDao(); }


上一篇:
下一篇:
切换中文