Получить данные JSON для проекта студии AndroidJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Получить данные JSON для проекта студии Android

Сообщение Гость »


Итак, я пытаюсь получить данные из JSON-файла вставки. мне нужно потом иметь его в listView. Но что-то не так. Я использую метод выполнения в основном, и я могу заставить работать onPreExecute, но не onPostExecute. Кто-нибудь знает, как это работает?

public void onClick(Просмотр) { ExtragereJSON extragereJSON=новый ExtragereJSON(){ ПрогрессДиалог прогрессДиалог; @Override защищенный недействительный onPreExecute () { ProgressDialog = новый ProgressDialog (Proba_Practica_Petrescu_Rares_Mihnea.this); ProgressDialog.setMessage("Пожалуйста, подождите..."); прогрессДиалог.шоу(); } @Override protected void onPostExecute (String s) { //progressDialog.setMessage("Готово..."); //progressDialog.show(); прогрессДиалог.отмена(); если (s != ноль) { listaInregistrari.addAll(this.listaRestaurante); // Адаптер CustomAdapterNou = новый CustomAdapter(getApplicationContext(), R.layout.listviewrestaurante_layout, // getLayoutInflater(), listaInregistrari); Log.d("AsyncTask", "onPostExecute: извлечение JSON успешно"); } еще { // Обработка случая, когда извлечение JSON не удалось // Регистрируем или отображаем сообщение об ошибке Log.e("AsyncTask", "onPostExecute: не удалось извлечь JSON"); } } }; пытаться{ extragereJSON.execute(новый URL("https://pastebin.com/raw/vVBcgK7H")); } catch (MalformedURLException e) { Log.e("URLValidationError", "Неверный URL: " + e.getMessage()); е.printStackTrace(); } catch (Исключение е) { // Регистрируем или отображаем общее сообщение об ошибке Log.e("ExtractionError", "Не удалось извлечь JSON: " + e.getMessage()); е.printStackTrace(); } } }); ОК, вот мой класс ExtactJSON.

публичный класс ExtragereJSON расширяет AsyncTask {

публичный список listaRestaurante=new ArrayList(); @Override protected String doInBackground(URL... urls) { пытаться { Соединение HttpURLConnection = (HttpURLConnection) URL[0].openConnection(); Connection.setRequestMethod("GET"); InputStream inputStream=connection.getInputStream(); InputStreamReader isr = новый InputStreamReader (inputStream); BufferedReader br = новый BufferedReader (ISR); Строковая линия = ноль; Строка результата=""; while((line=br.readLine())!=null) результат+=строка; parsareJSON (результат); вернуть результат; } catch (IOException e) { Log.e("AsyncTask", "Исключение в doInBackground: " + e.getMessage()); вернуть ноль; // Возвращаем ноль или сообщение об ошибке } } частный недействительный parsareJSON (результат строки) { если (результат! = ноль) { пытаться{ JSONObject obiect = новый JSONObject (результат); Ресторан JSONArray = obiect.getJSONArray("ресторан"); for (int i = 0; i < Restaurante.length(); i++) { Ресторан JSONObject = Restaurante.getJSONObject(i); int codRestaurant = Restaurant.getInt("codRestaurant"); String numeRestaurant = Restaurant.getString("numerestaurant"); int capacitate = Restaurant.getInt("capacitate"); float venituri = (float) Restaurant.getDouble("venituri"); String TipRestaurant = Restaurant.getString("tipRestaurant"); InregistrareRestaurant ir = новый InregistrareRestaurant (codRestaurant, numeRestaurant, capacitate, venituri, TipRestaurant); listaRestaurante.add(ир); } } catch (Исключение е) { выдать новое RuntimeException(e); } } еще { Log.e("parsareJSON","JSON имеет значение null"); } }
Ответить

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

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

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

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

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