package com.jdroid.android.sample.ui.sqlite;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import com.jdroid.android.fragment.AbstractFragment;
import com.jdroid.android.sample.R;
import com.jdroid.android.sample.application.AndroidApplication;
import com.jdroid.java.collections.Lists;
import com.jdroid.java.concurrent.ExecutorUtils;
import com.jdroid.java.repository.Repository;
import com.jdroid.java.utils.RandomUtils;
import java.util.List;
public class SQLiteFragment extends AbstractFragment {
private static String lastId;
@Override
public Integer getContentFragmentLayout() {
return R.layout.sqlite_fragment;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
findView(R.id.sqliteAdd).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
SampleSQLiteEntity entity = new SampleSQLiteEntity();
lastId = RandomUtils.getLong().toString();
entity.setId(lastId);
entity.setField(RandomUtils.getLong().toString());
repository.add(entity);
}
});
}
});
findView(R.id.sqliteUpdate).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
if (lastId != null) {
Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
SampleSQLiteEntity entity = repository.get(lastId);
if (entity != null) {
entity.setField(RandomUtils.getLong().toString());
repository.update(entity);
}
}
}
});
}
});
findView(R.id.sqliteRemove).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
if (lastId != null) {
Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
repository.remove(lastId);
lastId = null;
}
}
});
}
});
findView(R.id.sqliteRemoveAll).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
repository.removeAll();
}
});
}
});
findView(R.id.sqliteReplaceAll).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
List<SampleSQLiteEntity> entities = Lists.newArrayList();
SampleSQLiteEntity entity = new SampleSQLiteEntity();
lastId = RandomUtils.getLong().toString();
entity.setId(lastId);
entity.setField(RandomUtils.getLong().toString());
entities.add(entity);
entity = new SampleSQLiteEntity();
lastId = RandomUtils.getLong().toString();
entity.setId(lastId);
entity.setField(RandomUtils.getLong().toString());
entities.add(entity);
repository.replaceAll(entities);
}
});
}
});
findView(R.id.sqliteGetAll).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ExecutorUtils.execute(new Runnable() {
@Override
public void run() {
final Repository<SampleSQLiteEntity> repository = AndroidApplication.get().getRepositoryInstance(SampleSQLiteEntity.class);
final List<SampleSQLiteEntity> results = repository.getAll();
executeOnUIThread(new Runnable() {
@Override
public void run() {
((TextView)findView(R.id.results)).setText(results.toString());
}
});
}
});
}
});
}
}