レトロフィットを使用して無料の辞書APIを使用してオンライン辞書を作成しようとしています。レトロフィットは初めてです。アプリを実行していると、アプリがクラッシュします。
Logcat エラー:
com.google.gson.stream.MalformedJsonException: JsonReader.setLenient(true) を使用して、行 1 列 1 パス $ 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err で不正な形式の JSON を受け入れます: com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1567) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.google.gson で。 stream.JsonReader.checkLenient(JsonReader.java:1416) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.google.gson.stream.JsonReader.doPeek(JsonReader.java:597) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: com.google.gson.stream で.JsonReader.peek(JsonReader.java:429) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read で(CollectionTypeAdapterFactory.java:74) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java で:61) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
retrofit2.converter.gson.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:37) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err
で: retrofit2.converter.gson.GsonResponseBodyConverter.convert で(GsonResponseBodyConverter.java:25) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
retrofit2.ServiceMethod.toResponse(ServiceMethod.java:116) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:211) 07 -03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 07-03 16:17:38.531 25440-25479/com.mohit .dictionaryapp W/System.err: retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.mohit .dictionaryapp.DictionaryApi.searchMeaning(DictionaryApi.java:33) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.mohit.dictionaryapp.GetMeaningTask.doInBackground (GetMeaningTask.java:27) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
com.mohit.dictionaryapp.GetMeaningTask.doInBackground で(GetMeaningTask.java:13) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err:
android.os.AsyncTask$2.call(AsyncTask.java:288) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: java.util.concurrent.FutureTask.run( FutureTask.java:237) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 07-03 16:17:38.531 25440-25479/com.mohit.dictionaryapp W/System.err: java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1112) 07-03 16:17:38.532 25440-25479/com で.mohit.dictionaryapp W/System.err:
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 07-03 16:17:38.532 25440-25479/com.mohit.dictionaryapp W/System.エラー:
java.lang.Thread.run(Thread.java:818) で
DictionaryApi.java
public class DictionaryApi {
public interface Alfa{
@GET("/word.json/{word}/definitions")
Call<ArrayList<Dictionary>> meaning(@Path("word") String word,@Query("api_key") String api_key);
}
public static ArrayList<Dictionary> searchMeaning(String word,String api_key){
Retrofit retrofit=new Retrofit.Builder().baseUrl("http://api.wordnik.com/v4/")
.addConverterFactory(GsonConverterFactory.create()).build();
Alfa alfa=retrofit.create(Alfa.class);
Call<ArrayList<Dictionary>> call = alfa.meaning(word,api_key);
try {
Response<ArrayList<Dictionary>> response=call.execute();
Log.e("Dpi", response.message().toString());
Log.e("Dpi",String.valueOf(response.code()));
return response.body();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
Dictionary.java(ポジョ)
public class Dictionary {
public String word;
public String partOfSpeech;
public String sequence;
public String text;
}
辞書 API の URL: http://api.wordnik.com/v4/word.json/fantasy/definitions?api_key=a2a73e7b926c924fad7001ca3111acd55af2ffabf50eb4ae5
これを解決するのを手伝ってください。