【发布时间】:2015-09-06 01:47:54
【问题描述】:
我正在尝试创建一个从我的网站解析代码并将其显示在 listActivity 上的应用程序。我尝试使用几个网站.. 他们都工作正常。但是我的网站显示了这个 java.lang.NegativeArraySizeException: -1 异常!
package com.example.hamad.jsonparsingverybasic;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
public static final String TAG = "log";
TextView network;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
network = (TextView) findViewById(R.id.networkStatus);
if (isNetworkAvailable()) {
GetBlogPosts getBlogPosts = new GetBlogPosts();
getBlogPosts.execute();
network.setText("Network: Available!");
} else {
network.setText("Network: Not available!");
}
}
private boolean isNetworkAvailable() {
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
boolean netWorkAvailable = false;
if (networkInfo != null && networkInfo.isConnected()) {
netWorkAvailable = true;
}
return netWorkAvailable;
}
private class GetBlogPosts extends AsyncTask<Object, Void, String> {
int responseCode = 0;
@Override
protected String doInBackground(Object[] params) {
try {
URL blogURL = new URL("http://trapedzone.com/api/info/");
HttpURLConnection connection = (HttpURLConnection) blogURL.openConnection();
connection.connect();
responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
try {
InputStream inputStream = connection.getInputStream();
Reader reader = new InputStreamReader(inputStream);
int contentLength = connection.getContentLength();
char[] charArray = new char[contentLength];
reader.read(charArray);
String responseData = new String(charArray);
Log.v(TAG, responseData);
} catch (Exception e) {
}
} else {
Log.e(TAG, "Bad response code: " + responseCode);
}
} catch (Exception e) {
Log.e(TAG, "Error: " + e);
}
return "Code: " + responseCode;
}
}
}
在执行时,它会在我的网站http://trapedzone.com 上引发 java.lang.NegativeArraySizeException: -1 异常,但当我在我的其他网站http://trapedhost.com 上使用它时效果很好 请帮忙。我的网站是否有问题,或者我可以在 Java 代码中修复。
【问题讨论】:
标签: java android json parsing connection