Je tente de me connecter à un service Web dans mon localhost mais. HttpConnection ne retourne pas le contenu. regardez le code et les commentaires. il semble que getContentLenght renvoie -1. mais quand je vérifie mes webservices ses valeurs de retour de json.HttpURLConnection ne pas retourner le contenu
package medapp.app;
import android.os.AsyncTask;
import android.util.Log;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created by MacBookPro on 5/4/14.
*/
public class PostActivity extends AsyncTask<Object, Void, String> {
@Override
protected String doInBackground(Object... arg0){
int responseCode = -1;
//PostActivity getBlogPostsTask = new PostActivity();
try
{
URL blogFeedUrl = new URL("http://localhost/medapp/public/mobile/post");
HttpURLConnection connection = (HttpURLConnection) blogFeedUrl.openConnection();
connection.connect();
responseCode = connection.getResponseCode();
if (responseCode == 200)
{
InputStream inputStream = connection.getInputStream();
Reader reader = new InputStreamReader(inputStream);
int contentLength = connection.getContentLength();// connection getting -1
char[] charArray = new char[contentLength]; //This is where error occurs.
reader.read(charArray);
String responseData = new String(charArray);
Log.v("TAG", responseData);
}
else
{
Log.i("TAG", "Unsuccessful HTTP Response Code: " + responseCode);
}
}
catch (MalformedURLException e)
{
Log.e("TAG", "exception caught: ", e);
}
catch (IOException e)
{
Log.e("TAG", "exception caught: ", e);
}
catch (Exception e)
{
Log.e("TAG", "exception caught: ", e);
}
return "Code: " + responseCode;
}
}
Voici mon fichier journal
05-04 12:48:17.251 2358-2371/medapp.app E/TAG﹕ exception caught:
java.lang.NegativeArraySizeException: -1
at medapp.app.PostActivity.doInBackground(PostActivity.java:38)
at medapp.app.PostActivity.doInBackground(PostActivity.java:17)
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:841)
désolé comment puis-je obtenir la taille du contenu? im nouveau dans le développement Android merci – user3409517