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

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

12.02.2023, 13:17. Показов 1798. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru