Попытка извлечения данных массива json с помощью дооснащения 2, но она застряла. Это URL для извлечения данных.
https://xenzet.com/GameCheat/viewgamesjson.php
Это способ получить все игры
public void fetch_information() {
ApiInterface = ApiClient.getApiClient().create(Api.class);
Call<List<Games>> call = ApiInterface.GetGames();
call.enqueue(new Callback<List<Games>>() {
@Override
public void onResponse(Call<List<Games>> call, Response<List<Games>> response) {
gameslist = new ArrayList<Games>();
gameslist = response.body();
int gamescounter = gameslist.size();
}
@Override
public void onFailure(Call<List<Games>> call, Throwable t) {
Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
Это интерфейс для Api
public interface Api {
@GET("GameCheat/viewgamesjson.php")
Call<List<Games>> GetGames();
}
Это ApiClient
public class ApiClient {
public static String Base_URL ;
public static Retrofit retrofit;
public static Retrofit getApiClient()
{
if (retrofit == null)
{
Base_URL ="https://xenzet.com/";
retrofit = new Retrofit.Builder().baseUrl(Base_URL)
.addConverterFactory(GsonConverterFactory.create()).build();
}
return retrofit;
}
}
но я не смог получить список игр (данных) с URL.
проблема, которую я получаю, связана с URL, мне дали этот URL, поэтому я не знаю, как разделить базовый URL и что передать в @Get ("").
из-за этих проблем я попробовал другой способ выполнить это.
вместо модернизации я пытался читать с URL
private static String readUrl(String urlString) throws Exception {
BufferedReader reader = null;
try {
URL url = new URL(urlString);
reader = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuffer buffer = new StringBuffer();
int read;
char[] chars = new char[1024];
while ((read = reader.read(chars)) != -1)
buffer.append(chars, 0, read);
return buffer.toString();
} finally {
if (reader != null)
reader.close();
}
}
и в методе onCreate
try {
String url = readUrl("https://xenzet.com/GameCheat/viewgamesjson.php");
Gson gson = new Gson();
Games mgames = gson.fromJson(url, Games.class);
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Url not working", Toast.LENGTH_SHORT).show();
}
но выдает ошибку при получении исключения catch и не читает URL.
что я здесь делаю?