0

改造と rxkotlin を使用して API を呼び出しています。しかし、フラグメントを開始すると、通知なしでアプリがクラッシュするか、スタジオの logcat にエラー メッセージが表示されません。これがコードです。ここから、apis インターフェイスを呼び出します

try {
        if (disposable == null) {

            Log.e("disposable","reached")

            disposable = api.getUsers(api_key,
                    "json",
                    "1",
                    "flickr.interestingness.getList")
                    .subscribeOn(Schedulers.io())
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribe (
                            {
                                data: FlickrPhoto? -> Log.e("flickr photo",data!!.photo?.get(0)?.secret)
                            }

                    )

            Log.e("disposable1","reached")
        }
    }
    catch (e: Exception){
        Log.e("flickr fragment",e.toString())
    }

API インターフェイス コードは次のとおりです。

interface API {

@GET("services/rest")
fun getUsers(@Query("format") format : String,
             @Query("api_key") api_key : String,
             @Query("nojsoncallback") nojsoncallback : String,
             @Query("method") method : String
) : Observable<FlickrPhoto>

companion object{
    fun createView():API{

        Log.e("apis","creatview")
        try {
            val retrofit = Retrofit.Builder()
                    .baseUrl("https://api.flickr.com/")
                    .addCallAdapterFactory(
                            RxJava2CallAdapterFactory.create())
                    .addConverterFactory(
                            GsonConverterFactory.create())
                    .build()


            Log.e("retrofit",retrofit.toString())

            return retrofit.create(API::class.java)
        }
        catch (e: Exception){
            Log.e("api exception",e.message)
        }
        Log.e("apis","creatview retrofit null")
        return null!!
    }

}
}

ログキャットは次のとおりです。

11-07 03:47:07.527 11627-11627/com.redvelvet.abhi.imagesmapling E/disposable: reached
11-07 03:47:07.529 11627-11627/com.redvelvet.abhi.imagesmapling E/apis: creatview
11-07 03:47:07.620 11627-11627/com.redvelvet.abhi.imagesmapling E/retrofit: retrofit2.Retrofit@ec11d24
11-07 03:47:07.751 11627-11627/com.redvelvet.abhi.imagesmapling E/disposable1: reached
4

0 に答える 0