Форум программистов, компьютерный форум, киберфорум
Java: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.02.2023
Сообщений: 1

Как получить результат с нескольких API

12.02.2023, 13:17. Показов 1858. Ответов 0
Метки api, json (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Подскажите ребята мне следуещее. Есть код в котором я получаю данные с API о погоде:
(Код рабочий, не могу только сообразить как совместить проблему описаную ниже)


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
tag = true;
 
                if(user_fild.getText().toString().trim().equals(""))
                    Toast.makeText(MainActivity.this, R.string.no_user_input, Toast.LENGTH_SHORT).show();
                else {
                    String city = user_fild.getText().toString();
                    String key = "d36ea588808a6d4d1bad2747ffd4e966";
                    String url = "https://api.openweathermap.org/data/2.5/weather?q=" + city +
                            "&appid=" + key + "&units=metric&lang=ua";
 
                    new GetUrlData().execute(url);
 
                    String key1 = "7e20fa9da3fe42fe97eaa91893b37d47";
                    String url1 = "https://api.ipgeolocation.io/timezone?apiKey="+key1+"&location="+city;
 
                    new GetUrlData().execute(url1);
                }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
...
 
protected String doInBackground(String... strings) {
            HttpsURLConnection connection = null;
            BufferedReader reader = null;
 
            try {
                URL url = new URL(strings[0]);
                connection = (HttpsURLConnection) 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) {
                        throw new RuntimeException(e);
                    }
                }
            }
        }
 
        @Override
        protected  void onPostExecute(String result1){
            super.onPostExecute(result1);
 
            try {
                JSONObject object = new JSONObject(result1);
                 if(tag) {
                result.setText(user_fild.getText() + ", " + object.getJSONArray("weather").getJSONObject(0).optString("description") +
                        ", " + Math.round(object.getJSONObject("main").getDouble("temp")) +
                        " °C\n\n" + "Min: "
                        + Math.round(object.getJSONObject("main").getDouble("temp_min")) + " °C\nMax: " +
                        Math.round(object.getJSONObject("main").getDouble("temp_max")) +
                        " °C");
                tag = false;
            } else {
                timeResult.setText(object.optString("date_time"));
                tag = true;
            }
 
                result.setText(object.toString());
               // timeResult.setText(object.toString());
 
 
            } catch (JSONException e) {
                throw new RuntimeException(e);
            }
 
        }
    }
Вопрос в следуещем, как мне работать с несколькоми API? Чтобы к примеру получить с одного время со второго погоду(есть в первом коде и тот и тот). Как записать их в JSON что бы результаты они не накладывались друг на друга и можна было работать хоть с одним хоть с 5тю результатами разных API?

Результат должен быть такой:
Указали город к примеру Москва
Программа нам выдает с одного API погоду со второго время и тд.

Добавлено через 17 минут
Цитата Сообщение от onyschuck1 Посмотреть сообщение
new GetUrlData().execute(url);
String key1 = "7e20fa9da3fe42fe97eaa91893b37d47";
                    String url1 = "https://api.ipgeolocation.io/timezone?apiKey="+key1+"&location="+city ;
new GetUrlData().execute(url1);
Попробовал передать два параметра:
Java
1
new GetUrlData().execute(url, url1);
но не могу теперь понять как поймать результат второго параметра в JSON
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2023, 13:17
Ответы с готовыми решениями:

Как получить результат API запроса
Здравствуйте. Как правильно вызвать в методе Main() следующую функцию, чтобы вывести результат API запроса в консоль? private static...

Не могу получить результат выборки нескольких строк MySqlDataReader
запросом на выборку получаю n строк далее некоторые поля присваиваю переменным while (mySqlDataReader.Read()) { lesson =...

Получить один общий результат от нескольких последовательных get запросов
Добрый день! Очень надеюсь на помощь форумчан, т.к. с ангуляром практически не знакома, но требуют.. Есть функция, которая делает...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2023, 13:17
Помогаю со студенческими работами здесь

Получить результат работы функции в виде нескольких переменных
Один из способов с выводом результата в параметры: void func(int* res1, int* res2, int par1, int par2) { *res1 = par2-par1; ...

Steam API - как можно получить медиану цен через API?
Ребят, как можно получить медиану цен через API ? Интересует количество продаж за последний день. Инфу по предмету получаю таким...

Как получить такой результат? Результат на Картинке
Как сделать так чтобы лого было по середине, а текст по бокам....все как на картинке? Что написать в HTML и CSS? Заранее спасибо)

Как вывести JSON результат API запроса в textbox?
Как вывести результат API запроса (значение ui_bid) в textbox ? using System; using System.Collections.Generic; using...

Оператор for. Как получается результат нескольких вычислений?
using System; namespace ConsoleApp1 { class Program { static void Main(string args) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru