169 похожих чатов

Проблема: Я новичок, решил освоить выход в интернет, начал писать

приложение про погоду в котором когда пользователь вводит город ( на английском ) данный город заноситься в ссылку и на openmapweather.com можно посмотреть погоду в этом городе, но у меня не выводит ничего, на фотографии в круге должно было вывести данные с сайта. Гуглил о проблеме но тоже ничего не нашел. Помогите пожалуйста!
Код:
private EditText user_field;
private Button main_btn;
private TextView result_info;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

user_field = findViewById(R.id.user_field);
main_btn = findViewById(R.id.main_btn);
result_info = findViewById(R.id.result_info);

main_btn.setOnClickListener(new View.OnClickListener() { // потом обязательно занеси эту функцию в конспект
@Override
public void onClick(View v) {
if (user_field.getText().toString().trim().equals("")) {

Toast.makeText(MainActivity.this, R.string.no_user_input, Toast.LENGTH_LONG).show();

} else {

String city = user_field.getText().toString();
String key = "4ea7c6f5b338f3843fa85565b3b5a10c";
String url = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=" + key + "&units=metric&lang=ru"; // сайт https://openweathermap.org/current

new GetURLData().execute(url); // передали значение url в новый класс


}
}
});


}

private class GetURLData extends AsyncTask<String, String, String> implements com.android.weather.GetURLData {

protected void onPreExecute() {

super.onPreExecute();

Toast.makeText(MainActivity.this, R.string.loading, Toast.LENGTH_LONG).show();

}


@Override
protected String doInBackground(String... strings) {

HttpURLConnection connection = null;
BufferedReader reader = null;


try {
URL url = new URL(strings[0]);
connection = (HttpURLConnection) url.openConnection();
connection.connect();

InputStream stream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));

StringBuffer buffer = new StringBuffer();
String line = "";

while ((line = reader.readLine()) != null)
buffer.append(line).append("\n");
return buffer.toString();

} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
if (connection != null) {
connection.disconnect();
}

if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}

return null;
}



}

@Override
public void OnPostExecute(String result){
super.onPostExecute(result);


}

}
}

6 ответов

156 просмотров

https://pastebin.com/ сайт для шейринга кода

Асинк таск, ахуеть

𝔼𝕘𝕠𝕣
что???

Ну асинк таск наверное лет 8 назад использовали, вы как к этому пришли?

𝔼𝕘𝕠𝕣- Автор вопроса
Nikita Senatorov
Ну асинк таск наверное лет 8 назад использовали, в...

Прошел через огонь, воду и медные трубы) Хорошо, тогда что вместо его можно использовать?

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
33
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный TFilestream не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
8
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта