Я изучаю Android и новичок в Java, но не новичок в программировании (с использованием Eclipse). Я пытаюсь выполнить пример кода следующим образом в методе:Объявление InputStream
private void dummy() {
try {
URL url = new URL(quakeFeed);
URLConnection connection;
connection = url.openConnection();
HttpURLConnection httpconnection = (HttpURLConnection)connection;
int responseCode = httpconnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK)
InputStream inp = new BufferedInputStream(httpconnection.getInputStream());
}
...
}
Предположим, что все остальные синтаксис и переменные определены. Я получаю следующее сообщение об ошибке:
InputStream` cannot be resolved to a variable.
Это странно, даже после импорта java.io.InputStream;
Ошибка гаснет, если я объявляю InputStream
вне метода, то есть
InputStream inp;
private void dummy() {
try {
URL url = new URL(quakeFeed);
URLConnection connection;
connection = url.openConnection();
HttpURLConnection httpconnection = (HttpURLConnection)connection;
int responseCode = httpconnection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK)
// Changed
inp = new BufferedInputStream(httpconnection.getInputStream());
}
...
}
Мне интересно, почему локальная декларация InputStream
не может быть решена, но глобальная декларация разрешена.
Ok Спасибо Я не был в курсе этого. –