Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class GetFeed extends AsyncTask<Void, Void, String> {
- @Override
- protected String doInBackground(Void... voids) {
- StringBuilder builder = new StringBuilder();
- HttpClient client = new DefaultHttpClient();
- HttpGet httpGet = new HttpGet(URL_ITUNES);
- try {
- HttpResponse response = client.execute(httpGet);
- StatusLine statusLine = response.getStatusLine();
- int statusCode = statusLine.getStatusCode();
- if (statusCode == 200) {
- HttpEntity entity = response.getEntity();
- InputStream content = entity.getContent();
- BufferedReader reader = new BufferedReader(new InputStreamReader(content));
- String line;
- while ((line = reader.readLine()) != null) {
- builder.append(line);
- }
- JsonParser jsonParser = new JsonParser();
- JsonObject jsonObject = jsonParser.parse(builder.toString()).getAsJsonObject();
- JsonObject feedObject = jsonObject.getAsJsonObject("feed");
- JsonArray jsonArray = feedObject.getAsJsonArray("entry");
- GsonBuilder gsonBuilder = new GsonBuilder();
- gsonBuilder.setDateFormat("M/d/yy hh:mm a");
- Gson gson = gsonBuilder.create();
- Type type = new TypeToken<List<Entry>>(){}.getType();
- entries = Arrays.asList(gson.fromJson(jsonArray.toString(), Entry[].class));
- Log.d("ItemListActivity", "entries = " + String.valueOf(entries.size()));
- } else {
- Log.e("ItemListActivity", "Failed to download file");
- }
- } catch (ClientProtocolException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- }
- 08-20 16:20:08.490 13936-13951/com.test.example E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
- Process: com.test.example, PID: 13936
- java.lang.RuntimeException: An error occured while executing doInBackground()
- at android.os.AsyncTask$3.done(AsyncTask.java:300)
- at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
- at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
- at java.util.concurrent.FutureTask.run(FutureTask.java:242)
- at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
- at java.lang.Thread.run(Thread.java:864)
- Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 14 path $[0].im:name
- at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:187)
- at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
- at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
- at com.google.gson.Gson.fromJson(Gson.java:805)
- at com.google.gson.Gson.fromJson(Gson.java:770)
- at com.google.gson.Gson.fromJson(Gson.java:719)
- at com.google.gson.Gson.fromJson(Gson.java:691)
- at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:184)
- at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:155)
- at android.os.AsyncTask$2.call(AsyncTask.java:288)
- at java.util.concurrent.FutureTask.run(FutureTask.java:237)
- at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
- at java.lang.Thread.run(Thread.java:864)
- Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 14 path $[0].im:name
- at com.google.gson.stream.JsonReader.nextString(JsonReader.java:836)
- at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358)
- at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346)
- at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:95)
- at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:183)
- at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
- at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
- at com.google.gson.Gson.fromJson(Gson.java:805)
- at com.google.gson.Gson.fromJson(Gson.java:770)
- at com.google.gson.Gson.fromJson(Gson.java:719)
- at com.google.gson.Gson.fromJson(Gson.java:691)
- at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:184)
- at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:155)
- at android.os.AsyncTask$2.call(AsyncTask.java:288)
- at java.util.concurrent.FutureTask.run(FutureTask.java:237)
- at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
- at java.lang.Thread.run(Thread.java:864)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement