title: Unable to create call adapter for io.reactivex.Observable
body: <p>I'm going to send a simple get method to my server(it is Rails app) and get the result using RxJava and Retrofit. The thing that I did is:</p>
  
  <p>My interface:</p>
  
  <pre class="lang-java prettyprint-override"><code>public interface ApiCall {
      String SERVICE_ENDPOINT = "https://198.50.214.15";
      @GET("/api/post")
      io.reactivex.Observable&lt;Post&gt; getPost();
  }
  </code></pre>
  
  <p>My model is this:</p>
  
  <pre class="lang-java prettyprint-override"><code>public class Post
  {
      @SerializedName("id")
      private String id;
      @SerializedName("body")
      private String body;
      @SerializedName("title")
      private String title;
  
      public String getId ()
      {
          return id;
      }
  
  
      public String getBody ()
      {
          return body;
      }
  
  
      public String getTitle ()
      {
          return title;
      }
  
  }
  </code></pre>
  
  <p>And this is what I did in my activity:</p>
  
  <pre class="lang-java prettyprint-override"><code>public class Javax extends AppCompatActivity {
      RecyclerView rvListContainer;
      postAdapter postAdapter;
      List&lt;String&gt; messageList=new ArrayList&lt;&gt;();
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_javax);
  
          rvListContainer=(RecyclerView)findViewById(R.id.recyclerView);
          postAdapter=new postAdapter(messageList);
  
          rvListContainer.setAdapter(postAdapter);
      }
      @Override
      protected void onResume() {
          super.onResume();
          Retrofit retrofit=new Retrofit.Builder()
                  .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
                  .addConverterFactory(GsonConverterFactory.create())
                  .baseUrl("https://198.50.214.15")
                  .build();
          ApiCall apiService=retrofit.create(ApiCall.class);
  
          Observable&lt;Post&gt; observable=apiService.getPost();
  
          observable.subscribeOn(Schedulers.newThread())
                  .observeOn(AndroidSchedulers.mainThread())
                  .subscribe(responseData -&gt; {
                      messageList.add(responseData.getTitle());
                      postAdapter.notifyDataSetChanged();
                  });
  
      }
  }
  </code></pre>
  
  <p>I don't know why I get this error which says I have problem with adapter. I also included the adapter into the gradle:</p>
  
  <pre><code>E/AndroidRuntime: FATAL EXCEPTION: main
  Process: com.example.hussein.sqlitedatabase, PID: 19445
  java.lang.RuntimeException: Unable to resume activity {com.example.hussein.sqlitedatabase/com.example.hussein.sqlitedatabase.Javax}: java.lang.IllegalArgumentException: Unable to create call adapter for io.reactivex.Observable&lt;com.example.hussein.sqlitedatabase.Post&gt;
      for method ApiCall.getPost
      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2964)
      at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2993)
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
      at android.app.ActivityThread.access$800(ActivityThread.java:151)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
      at android.os.Handler.dispatchMessage(Handler.java:110)
      at android.os.Looper.loop(Looper.java:193)
      at android.app.ActivityThread.main(ActivityThread.java:5292)
      at java.lang.reflect.Method.invokeNative(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:515)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.IllegalArgumentException: Unable to create call adapter for io.reactivex.Observable&lt;com.example.hussein.sqlitedatabase.Post&gt;
      for method ApiCall.getPost
      at retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:751)
      at retrofit2.ServiceMethod$Builder.createCallAdapter(ServiceMethod.java:236)
      at retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:161)
      at retrofit2.Retrofit.loadServiceMethod(Retrofit.java:169)
      at retrofit2.Retrofit$1.invoke(Retrofit.java:146)
      at $Proxy0.getPost(Native Method)
      at com.example.hussein.sqlitedatabase.Javax.onResume(Javax.java:42)
      at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1197)
      at android.app.Activity.performResume(Activity.java:5343)
      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2950)
          ... 12 more
   Caused by: java.lang.IllegalArgumentException: Could not locate call adapter for io.reactivex.Observable&lt;com.example.hussein.sqlitedatabase.Post&gt;.
    Tried:
     * retrofit2.adapter.rxjava.RxJavaCallAdapterFactory
     * retrofit2.ExecutorCallAdapterFactory
      at retrofit2.Retrofit.nextCallAdapter(Retrofit.java:240)
      at retrofit2.Retrofit.callAdapter(Retrofit.java:204)
      at retrofit2.ServiceMethod$Builder.createCallAdapter(ServiceMethod.java:234)
          ... 20 more
  </code></pre>
  
  <p>This is my Gradle dependency:</p>
  
  <pre><code>dependencies {
      compile fileTree(dir: 'libs', include: ['*.jar'])
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
          exclude group: 'com.android.support', module: 'support-annotations'
      })
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      compile 'com.android.support:appcompat-v7:25.3.1'
      testCompile 'junit:junit:4.12'
  
      compile 'com.squareup.retrofit2:retrofit:2.2.0'
  
      compile 'com.android.support:recyclerview-v7:25.3.1'
      compile 'com.android.support:design:25.3.1'
  
      compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
      compile 'io.reactivex.rxjava2:rxjava:2.0.1'
  
      compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
      compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
  
      compile 'com.squareup.retrofit2:converter-gson:2.0.0'
  
      compile 'com.google.code.gson:gson:2.4'
  
  }
  </code></pre>