Pepper Robot, проблемы при получении данных с помощью php-запроса из AltervistaJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Pepper Robot, проблемы при получении данных с помощью php-запроса из Altervista

Сообщение Anonymous »

Я студент университета и работаю над проектом, созданным моей университетской группой в 2021 году. Проект основан на веб-сайте, где пользователи могут писать истории, и приложении, в котором истории перечислены и могут быть рассказаны Пеппером. Теперь мне нужно снова взяться за этот проект и добавить новые функции, но у меня возникают проблемы при попытке получить данные из запроса PHP. PHP-запросы хранятся в общем пространстве Altervista, где также хранится и обрабатывается база данных проекта (Altervista включает phpMyAdmin).
При первоначальной разработке в 2021 году у нас не было проблем с попыткой получить результаты запроса из Altervista в приложение Pepper, но теперь, используя тот же код, у меня возникли проблемы.
Следует одному из классов проекта, в этом классе мне нужно только получить все заголовки историй, чтобы сделать их видимыми в списке историй приложения.

Код: Выделить всё

import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;

public class GetTitles extends AsyncTask {
Context context;
protected static ArrayList titleList = new ArrayList();

public GetTitles(Context context) {
this.context = context;
}

@Override
protected String doInBackground(Void... voids) {
try {
URL url = new URL ("https://pepper4storytelling.altervista.org/Cartella%20temporanea%20GETTERS/story_list.php");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
sb.append(line).append('\n');
}
JSONArray jsonArray = new JSONArray(sb.toString());
for (int i=0; i < jsonArray.length(); i++ ) {
JSONObject ob = jsonArray.getJSONObject(i);
titleList.add(i, ob.get("Titolo").toString());
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return sb.toString();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}

@Override
protected void onPreExecute() {
super.onPreExecute();
}

@Override
protected void onPostExecute(String s) {
}

@Override
protected void onProgressUpdate(Void...  values) {
super.onProgressUpdate(values);
}

}
Как видите, это не проблема запроса, поскольку запрос фактически возвращает значения в объекте JSON.

Код: Выделить всё

[{"Titolo":"TESTVIDEOPICCOLO","Username":"pieeerpaolo","Data pubblicazione":"2024-03-24 22:54:42"},{"Titolo":"PROVAVIDEO","Username":"nadja65","Data pubblicazione":"2024-02-08 14:34:48"},{"Titolo":"Preparare lo zaino per la scuola","Username":"nadja65","Data pubblicazione":"2023-01-17 11:03:04"},{"Titolo":"I tre porcellini","Username":"Vincenzo","Data pubblicazione":"2021-11-04 11:42:01"},{"Titolo":"orientamento prova","Username":"nadja65","Data pubblicazione":"2022-04-26 11:49:06"},{"Titolo":"Orientamento DIB","Username":"giovill","Data pubblicazione":"2022-04-26 14:43:18"},{"Titolo":"Mangiare bene, Vivere meglio","Username":"davide_46","Data pubblicazione":"2023-05-09 16:48:29"},{"Titolo":"La Piramide Alimentare","Username":"Dav99ide","Data pubblicazione":"2023-05-22 14:52:53"},{"Titolo":"Scambio di Robot","Username":"nadja65","Data pubblicazione":"2023-09-29 16:14:49"},{"Titolo":"Prova storia video","Username":"Enzo","Data pubblicazione":"2022-10-07 12:34:15"},{"Titolo":"Prova audio","Username":"Enzo","Data pubblicazione":"2022-10-07 14:20:19"},{"Titolo":"Antonino e il suo pentolino_1","Username":"daniela71","Data pubblicazione":"2023-05-06 20:10:49"},{"Titolo":"Il re","Username":"enzo","Data pubblicazione":"2022-12-01 13:27:07"},{"Titolo":"La storia della farfalla","Username":"enzo","Data pubblicazione":"2022-12-01 13:46:16"},{"Titolo":"La Spesa","Username":"enzo","Data pubblicazione":"2022-12-01 14:04:30"},{"Titolo":"Il mondo dei Verdotti","Username":"Dav99ide","Data pubblicazione":"2023-05-19 10:40:02"},{"Titolo":"La Fata Smemorina","Username":"Dav99ide","Data pubblicazione":"2023-05-19 10:53:47"},{"Titolo":"Io sono il Pepper Sbagliato","Username":"nadja65","Data pubblicazione":"2023-09-29 16:52:50"},{"Titolo":"Antonino e il suo pentolino","Username":"daniela71","Data pubblicazione":"2023-10-21 11:14:12"},{"Titolo":"GIORNATA ORIENTAMENTO DIB","Username":"nadja65","Data pubblicazione":"2024-02-06 12:33:02"},{"Titolo":"Il Viaggio delle Forchette Magiche","Username":"pieeerpaolo","Data pubblicazione":"2024-02-06 12:33:34"},{"Titolo":"Biancaneve","Username":"Vincenzo","Data pubblicazione":"2021-11-09 13:07:42"},{"Titolo":"Il leone e lo scoiattolo","Username":"Pepper123","Data pubblicazione":"2021-11-17 15:30:34"},{"Titolo":"Il Cavaliere Anticovid","Username":"nadja65","Data pubblicazione":"2022-01-13 16:21:41"},{"Titolo":"Pepper dice no alla Guerra","Username":"nadja65","Data pubblicazione":"2022-02-28 13:27:46"},{"Titolo":"Il bruco e la farfalla","Username":"Vincenzo","Data pubblicazione":"2021-10-06 12:45:38"},{"Titolo":"Storia con Domande","Username":"Vincenzo","Data pubblicazione":"2024-05-06 16:52:21"}]
Манифест приложения build.gradle (:app)

Код: Выделить всё

apply plugin: 'com.android.application'

android {
compileSdkVersion 29
buildToolsVersion '29.0.3'

defaultConfig {
applicationId "esame.pepper"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

}

dependencies {
implementation fileTree(dir: "libs", include: \["\*.jar"\])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.google.android.exoplayer:exoplayer:2.11.7'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.aldebaran:qisdk:1.7.5'
implementation 'com.aldebaran:qisdk-design:1.7.5'
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

}
Я подозреваю, что проблема связана с Pepper и тем фактом, что он не обновлялся годами. Эта проблема возникает как в эмуляторе Pepper, так и в настоящем Pepper, но если я попытаюсь запустить приложение на другом эмуляторе, все запросы будут работать нормально, и я смогу получить все необходимые данные.
Как вы можете видеть на следующих снимках экрана. , при использовании эмулятора Pepper я не могу загрузить заголовки историй.
Эмулятор Pepper
В этом случае происходит сбой блока try-catch, что указывает на проблему с получением данных из запрос.
Но если я использую другой эмулятор, созданный с помощью AVD Manager, запрос работает, и я вижу заголовки историй.
Другой эмулятор, не связанный напрямую с Pepper
p>
Примечание по эмулятору Pepper, взятое непосредственно из официального руководства по установке
Только для Windows
Для обеспечения совместимости автоматически устанавливается Emulator.29.0.11.
Версия Android Studio
  • Android Studio 4.0
  • Сборка #AI -193.6911.18.40.6514223, построено 20 мая 2020 г.
  • Версия выполнения: 1.8.0_412-412-b08 x86
  • ВМ: OpenJDK Server VM от OpenLogic-OpenJDK
  • Windows 11 10.0
  • GC: ParNew, ConcurrentMarkSweep
  • Память: 742 МБ< /li>
    Ядер: 12
  • Реестр: ide.new.welcome.screen.force=true
  • Не- Плагины в комплекте: com.softbank.robot.sdkplugin
Используемые системы
  • Рабочий стол с Windows 11 и процессором Intel i5-11400
  • Ноутбук с Windows 10 и процессором Intel i5-5200U
Оба системы дают тот же результат. Кроме того, в обеих системах я могу получить доступ к эмулятору Pepper, только если запустил 32-битный исполняемый файл. Если я попытаюсь запустить эмулятор в 64-битной версии Android Studio, он мгновенно выйдет из строя.
Честно говоря, я не знаю, может ли исполняемый файл быть причиной всей проблемы, но когда мы создали этот проект, я в основном работал над веб-сайтом, поэтому сейчас немного растерялся.
Прошу прощения за этот длинный пост, но я постарался включить всю ценную информацию для понимания моей проблемы.
Заранее спасибо любой, кто рассмотрит возможность помочь мне.

Подробнее здесь: https://stackoverflow.com/questions/784 ... altervista
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pepper Robot, проблемы при получении данных с помощью php-запроса из Altervista
    Anonymous » » в форуме Android
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Pepper Robot, проблемы при получении данных с помощью php-запроса из Altervista
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Подключение к Pepper Robot
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Объект iframe не работает в домене Altervista
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Приложение Pepper для Android никогда не запускало функцию onRobotFocusGained() на настоящем перце
    Anonymous » » в форуме Android
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»