Komang Putra Ответов: 0

Получение последнего массива данных без загрузки


мне нужна помощь, чтобы решить эту проблему.. я хочу получить последние данные, но это не займет так много времени

вот мой код
private void getNo() {
        pDialog = new ProgressDialog(this);
        showDialog();
        pDialog.setContentView(R.layout.progress_dialog);
        pDialog.getWindow().setBackgroundDrawableResource(
                android.R.color.transparent
        );
        StringRequest stringRequest1 = new StringRequest(Request.Method.GET, "http://example.co.id/rest_server/api/nomor_pengajuan/index_full_day",
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject obj = new JSONObject(response);
                            JSONArray movieArray = obj.getJSONArray("data");

                            for (int i = 0; i < movieArray.length(); i++) {
                                JSONObject movieObject = movieArray.getJSONObject(i);
                                getNo_pengajuan_full nomor = new getNo_pengajuan_full(
                                        movieObject.getInt("no_pengajuan_full_day"));
                                no_pengajuan.add(nomor);

                                getNo_pengajuan_full item = no_pengajuan.get(no_pengajuan.size() - 1);

                                nopengajuan.setText(String.valueOf(item.getNo_pengajuan_full() + 1));
                                hideDialog();
                            }

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(getApplicationContext(), "Maaf, ada kesalahan", Toast.LENGTH_SHORT).show();
                    }
                });
        RequestQueue requestQueue1 = Volley.newRequestQueue(this);
        requestQueue1.add(stringRequest1);
    }


в этом случае я хочу выбрать последний массив без загрузки...
данные по комплектации "no_pengajuan_full_day"

Что я уже пробовал:

@Override
                    public void onResponse(String response) {
                        try {
                            JSONObject obj = new JSONObject(response);

                                JSONObject movieObject = obj.getJSONObject(response);
                                getNo_pengajuan_full nomor = new getNo_pengajuan_full(
                                        movieObject.getInt("no_pengajuan_full_day"));
                                no_pengajuan.add(nomor);

                                getNo_pengajuan_full item = no_pengajuan.get(no_pengajuan.size() - 1);

                                nopengajuan.setText(String.valueOf(item.getNo_pengajuan_full() + 1));
                                hideDialog();


я пробовал этот код, но он не отвечает

David Crow

"я хочу получить последние данные но это это не займет так много времени"

Что именно это означает? Что такое "последние данные?" Обычно, когда что-то не занимает много времени, это хорошо.

"в этом случае я хочу выбрать последний массив без загрузки.."

И все же ты звонишь getInt() в onResponse() метод.

Вы пытаетесь разобрать файл JSON? Если да, то на что это похоже?

Komang Putra

да... поэтому я хочу выбрать данные, которые находятся в последнем индексе..
но программа должна найти последний индекс так долго...

David Crow

"программа должна найти последний индекс так долго ... ..."

Что это должно означать?

JSONArray array = obj.getJSONArray("");
JSONObject data = array.getJSONObject(last_index);

Komang Putra

да, но я просто хочу получить последний индекс без загрузки

David Crow

Весь JSON-файл уже помещен в obj- А что тебя беспокоит?

Komang Putra

меня беспокоит то, что я не хочу, чтобы эта программа находила последний индекс так долго...
поэтому я хочу, чтобы эта программа нашла последний индекс так быстро/быстро

David Crow

Доступ к любому элементу массива занимает O(1) времени. Возможно, вы думаете о (односвязном) списке или очереди, в которой вам нужно будет пройти каждый элемент?

Komang Putra

да, я так думаю...
Итак, каково же решение, как быстро получить последний индекс ?

David Crow

Индексы основаны на 0, поэтому если в массиве есть 25 элементов, то последний элемент будет иметь номер 24. Как ты собрал весь этот другой код и не знал этого?

0 Ответов