package sample.github.nisrulz.usingrealmdb;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import io.realm.Realm;
import io.realm.RealmResults;
import sample.github.nisrulz.usingrealmdb.models.Task;
public class MainActivity extends AppCompatActivity {
private Realm realm;
Button add, view, update, delete;
EditText description, id;
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Setup view references
add = (Button) findViewById(R.id.add);
view = (Button) findViewById(R.id.view);
update = (Button) findViewById(R.id.update);
delete = (Button) findViewById(R.id.delete);
description = (EditText) findViewById(R.id.desc);
id = (EditText) findViewById(R.id.id);
text = (TextView) findViewById(R.id.text);
// Get the default realm instance
realm = Realm.getDefaultInstance();
}
public void clickAction(View view) {
switch (view.getId()) {
case R.id.add:
addRecord();
break;
case R.id.view:
viewRecord();
break;
case R.id.update:
updateRecord();
break;
case R.id.delete:
deleteRecord();
}
}
public void addRecord() {
realm.beginTransaction();
Task task = realm.createObject(Task.class);
task.setId(Integer.parseInt(id.getText().toString()));
task.setDescription(description.getText().toString());
realm.commitTransaction();
}
public void viewRecord() {
RealmResults<Task> results = realm.where(Task.class).findAll();
text.setText("");
for (Task task : results) {
text.append(task.getId() + " " + task.getDescription() + "\n");
}
}
public void updateRecord() {
RealmResults<Task> results =
realm.where(Task.class).equalTo("id", Integer.parseInt(id.getText().toString())).findAll();
realm.beginTransaction();
for (Task task : results) {
task.setDescription(description.getText().toString());
}
realm.commitTransaction();
}
public void deleteRecord() {
RealmResults<Task> results =
realm.where(Task.class).equalTo("id", Integer.parseInt(id.getText().toString())).findAll();
realm.beginTransaction();
results.deleteAllFromRealm();
realm.commitTransaction();
}
@Override
protected void onDestroy() {
super.onDestroy();
// very IMPORTANT
realm.close();
}
}