Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialadnanalvee2
6,862 PointsStuck on Code Challenge! Stage 3: Getting Data from the Web
Code Challenge: Let's work inside the 'doInBackground()' method in the 'if' condition that checks for a successful HTTP response (see comment). Declare an InputStream variable and initialize it using the 'getInputStream()' method of the 'connection' variable.
I did the String responseData = new String(charArray) according to instructions but still I'm getting error.
String responseData = "";
try {
URL treehouseUrl = new URL("http://blog.teamtreehouse.com/api/get_recent_summary/?count=20");
HttpURLConnection connection = (HttpURLConnection) treehouseUrl.openConnection();
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
Reader reader = new InputStreamReader(inputStream);
char[] charArray = new char[connection.getContentLength()];
reader.read(charArray);
String responseData = new String(charArray);
// Code to read InputStream goes here!
}
}
catch (MalformedURLException e) {
Log.e(TAG, "MalformedURLException caught!", e);
}
catch (IOException e) {
Log.e(TAG, "IOException caught!", e);
}
1 Answer
Nick Edwards
Courses Plus Student 15,766 PointsThe problem is that the object type for responseData has already been declared (as a String) in the first line. So you need to change the last responseData line to:
responseData = new String(charArray);
Don't forget that clicking on preview when you get an error can provide some valuable insight as to what might be wrong; using your code produced the following:
JavaTester.java:75: responseData is already defined in run()
String responseData = new String(charArray);
^
1 error