Advertisement
Guest User

Untitled

a guest
Aug 20th, 2014
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.95 KB | None | 0 0
  1. class GetFeed extends AsyncTask<Void, Void, String> {
  2.  
  3. @Override
  4. protected String doInBackground(Void... voids) {
  5. StringBuilder builder = new StringBuilder();
  6. HttpClient client = new DefaultHttpClient();
  7. HttpGet httpGet = new HttpGet(URL_ITUNES);
  8. try {
  9. HttpResponse response = client.execute(httpGet);
  10. StatusLine statusLine = response.getStatusLine();
  11. int statusCode = statusLine.getStatusCode();
  12. if (statusCode == 200) {
  13. HttpEntity entity = response.getEntity();
  14. InputStream content = entity.getContent();
  15. BufferedReader reader = new BufferedReader(new InputStreamReader(content));
  16. String line;
  17. while ((line = reader.readLine()) != null) {
  18. builder.append(line);
  19. }
  20.  
  21. JsonParser jsonParser = new JsonParser();
  22. JsonObject jsonObject = jsonParser.parse(builder.toString()).getAsJsonObject();
  23. JsonObject feedObject = jsonObject.getAsJsonObject("feed");
  24. JsonArray jsonArray = feedObject.getAsJsonArray("entry");
  25. GsonBuilder gsonBuilder = new GsonBuilder();
  26. gsonBuilder.setDateFormat("M/d/yy hh:mm a");
  27. Gson gson = gsonBuilder.create();
  28.  
  29. Type type = new TypeToken<List<Entry>>(){}.getType();
  30. entries = Arrays.asList(gson.fromJson(jsonArray.toString(), Entry[].class));
  31.  
  32. Log.d("ItemListActivity", "entries = " + String.valueOf(entries.size()));
  33. } else {
  34. Log.e("ItemListActivity", "Failed to download file");
  35. }
  36. } catch (ClientProtocolException e) {
  37. e.printStackTrace();
  38. } catch (IOException e) {
  39. e.printStackTrace();
  40. }
  41. return null;
  42. }
  43. }
  44.  
  45. 08-20 16:20:08.490 13936-13951/com.test.example E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
  46. Process: com.test.example, PID: 13936
  47. java.lang.RuntimeException: An error occured while executing doInBackground()
  48. at android.os.AsyncTask$3.done(AsyncTask.java:300)
  49. at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
  50. at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
  51. at java.util.concurrent.FutureTask.run(FutureTask.java:242)
  52. at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  53. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  54. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  55. at java.lang.Thread.run(Thread.java:864)
  56. 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
  57. at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:187)
  58. at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
  59. at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
  60. at com.google.gson.Gson.fromJson(Gson.java:805)
  61. at com.google.gson.Gson.fromJson(Gson.java:770)
  62. at com.google.gson.Gson.fromJson(Gson.java:719)
  63. at com.google.gson.Gson.fromJson(Gson.java:691)
  64. at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:184)
  65. at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:155)
  66. at android.os.AsyncTask$2.call(AsyncTask.java:288)
  67. at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  68.             at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  69.             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  70.             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  71.             at java.lang.Thread.run(Thread.java:864)
  72. Caused by: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 14 path $[0].im:name
  73. at com.google.gson.stream.JsonReader.nextString(JsonReader.java:836)
  74. at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:358)
  75. at com.google.gson.internal.bind.TypeAdapters$13.read(TypeAdapters.java:346)
  76. at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:95)
  77. at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:183)
  78.             at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
  79.             at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
  80.             at com.google.gson.Gson.fromJson(Gson.java:805)
  81.             at com.google.gson.Gson.fromJson(Gson.java:770)
  82.             at com.google.gson.Gson.fromJson(Gson.java:719)
  83.             at com.google.gson.Gson.fromJson(Gson.java:691)
  84.             at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:184)
  85.             at com.test.example.ItemListActivity$GetFeed.doInBackground(ItemListActivity.java:155)
  86.             at android.os.AsyncTask$2.call(AsyncTask.java:288)
  87.             at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  88.             at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  89.             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  90.             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  91.             at java.lang.Thread.run(Thread.java:864)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement