私のコードは次のとおりです。
RestClient client = new RestClient();
Disposable subscribe = client.getApiMovie().getTopRated()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe( data -> { Log.d("mytag", data.body().toString()) });
そのコードは正しいですか。PS: Android Studio 2 を使用していますが、ラムダ式を使用するにはどうすれば設定できますか?
私の RestClient コンストラクター:
//what adapter shall I use?
public RestClient(){
if( client == null ) {
client = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(getHttpClient())
.build();
}
}
build.gradle:
android {
compileSdkVersion 24
buildToolsVersion "24.0.3"
defaultConfig {
applicationId "com.example.username.sunshine.app"
minSdkVersion 21
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
jackOptions と compileOptions を追加することで、Lambda 構文が機能するようになりました。