Realmを使ってみました。ちなみに私は、今まではGreenDAOとAndroid Ormaしか使ったことがありません。
とりあえずCRUD操作のやり方をつかもうとテストを書いてみました。テストの書き方が根本的に間違っている可能性が無きにしもあらずですが、こんな感じで作りました。
public class FilterDataSourceRealmTest { private static RealmConfiguration config; private static FilterDataSourceRealm sut; @BeforeClass public static void initializeTest() { config = new RealmConfiguration.Builder() .name("test_realm") .deleteRealmIfMigrationNeeded() .build(); sut = new FilterDataSourceRealm(config); } @Before public void setUp() { Realm.deleteRealm(config); } @After public void tearDown() { Realm.deleteRealm(config); } @Test public void insertFilter() throws Exception { final CountDownLatch latch = new CountDownLatch(1); sut.insertFilter("test.com/"); sut.getFilter("test.com/") .subscribe(new Action1<UriFilter>() { @Override public void call(UriFilter uriFilter) { assertThat(uriFilter.getFilter(), is("test.com/")); latch.countDown(); } }); latch.await(2, TimeUnit.SECONDS); } } テスト対象のコード(一部抜粋)はこんな感じです。
public class FilterDataSourceRealm implements FilterDataSource { private RealmConfiguration config; public FilterDataSourceRealm(RealmConfiguration config) { this.config = config; } @Override public void insertFilter(String insert) { Realm realm = Realm.
build.gradleのdependancieesに取り込むライブラリを記述して、目的のライブラリをダウンロードしてきてくれはしたものの、External Librariesで確認すると.apklibという拡張子になっていて、ライブラリの中身が参照できないということがあります。
この場合はViewPagerIndicatorというライブラリです。
どうにか使えるようにする方法はないものかと調べてみたのですが、解決策が見つかりませんでした。行き着いたのは、Gradleがapklibという形式をそもそもサポートしていないため、Android Studioでうまく参照できないみたいということです。
こういったライブラリの場合は、ソースコードを引っ張ってくるしか取り込む方法がないんでしょうね・・・。ちょっと残念です。
何かいい方法をご存じの方がいらっしゃったら教えていただきたいです。