При первоначальной разработке в 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);
}
}
Код: Выделить всё
[{"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"}]
Код: Выделить всё
Код: Выделить всё
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
В этом случае происходит сбой блока 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
Честно говоря, я не знаю, может ли исполняемый файл быть причиной всей проблемы, но когда мы создали этот проект, я в основном работал над веб-сайтом, поэтому сейчас немного растерялся.
Прошу прощения за этот длинный пост, но я постарался включить всю ценную информацию для понимания моей проблемы.
Заранее спасибо любой, кто рассмотрит возможность помочь мне.
Подробнее здесь: https://stackoverflow.com/questions/784 ... altervista