Software Engineer @ Originate
public class DemoActivity extends Activity implements LifecycleRegistryOwner {
LifecycleRegistry lifecycleRegistry = new LifecycleRegistry(this);
@Override
public LifecycleRegistry getLifecycle() {
return lifecycleRegistry;
}
@Override
public void onCreate() {
getLifecycle().addObserver(new DemoObserver());
}
}
public class DemoObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
public void onCreate() {
}
@OnLifecycleEvent({ON_START, ON_STOP})
public void startOrStop(LifecycleOwner source, Event event) {
}
}
public class DemoLiveData extends LiveData<Boolean> {
BroadcastReceiver networkReceiver = new BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo ni = connectivityManager.getActiveNetworkInfo();
setValue(ni != null && ni.isConnectedOrConnecting());
}
};
@Override
protected void onActive() {
registerReceiver(networkReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
@Override
protected void onInactive() {
unregisterReceiver(networkReceiver);
}
}
@Entity
public class Demo {
@PrimaryKey
private int id;
private String occupation;
@ColumnInfo(name = "demo_name")
private String name;
}
@Dao
public interface DemoDao {
@Query("SELECT * FROM demo")
List<Demo> getAll();
@Query("SELECT * FROM demo WHERE id IN (:demoIds)")
List<Demo> loadAllByIds(int[] demoIds);
@Insert
void insertAll(Demo... data);
@Delete
void delete(Demo entity);
}
public class DemoViewModel extends ViewModel {
private List<String> data;
public List<String> getData() {
return data;
}
public void setData(List<String> data) {
this.data = data;
}
}
public class DemoActivity extends Activity {
public void onCreate() {
DemoViewModel model = ViewModelProviders.of(this).get(DemoViewModel.class);
}
}