提取数据时进行慢速json解析

如何解决提取数据时进行慢速json解析

我正在使用wordpress的REST API来获取数据,而我一次只能使用volley来获取10条帖子。

API Link

当我在浏览器中请求API时,它会在6-7秒内为我提供结果...

但是我的应用需要15秒钟以上才能显示10条帖子。

有时需要超过1分钟才能显示数据。

我什至添加一个参数,使每页仅获得2条帖子。但是响应时间是相同的。

我从2天开始搜索修改代码,但无法摆脱。

这是代码:-

 private void jsonrequest(int pageNo) {
    JSON_URL = "https://jamuitoday.com/wp-json/wp/v2/posts?_embed&page=" + pageNo;
    JsonArrayRequest request = new JsonArrayRequest(JSON_URL,response -> {

        JSONObject jsonObject;
        for (int i = 0; i < response.length(); i++) {
            try {

                isLoading = true;
                isNewsLoaded = false;
                jsonObject = response.getJSONObject(i);
                News news = new News();

                //Get News Link
                String link = jsonObject.getString("link");
                news.setLink(link);

                //Set Date
                String date = jsonObject.getString("date");
                String d = date.substring(0,10);
                int time = Integer.parseInt(date.substring(11,13));
                if (time > 12) {
                    String ti = date.substring(13,16);
                    String dt = d + "     " + (time - 12) + ti + " PM";
                    news.setdate(dt);
                } else {
                    String ti = date.substring(11,16);
                    String dt = d + "     " + ti + " AM";
                    news.setdate(dt);
                }

                //Set Title
                JSONObject title = jsonObject.getJSONObject("title");
                String titleren = title.getString("rendered");
                news.setName(titleren);

                //Set Description
                SpannableString content = new SpannableString("Content");
                content.setSpan(new Underlinespan(),content.length(),0);
                JSONObject desc = jsonObject.getJSONObject("content");
                String descSub = desc.getString("rendered");
                news.setDescription(String.valueOf(Html.fromHtml((descSub))));
                news.setAdimgurl(descSub);


                // Set Image
                JSONObject img = new JSONObject(jsonObject.getString("_embedded"));
                JSONArray ttt = img.getJSONArray("wp:featuredmedia");
                String s = "";
                for (int t = 0; t < ttt.length(); t++) {
                    JSONObject obj = ttt.getJSONObject(t);
                    s = obj.getString("source_url");
                }
                news.setimage_url(s);

                listNews.add(news);
                

            } catch (JSONException e) {
                e.printstacktrace();
            }
        }

        setuprecyclerview(listNews);
        isLoading = false;
        isNewsLoaded = true;
        
        pageNumber += 1;
        

        if (recyclerView.getLayoutManager() != null) {
            recyclerView.getLayoutManager().scrollToPosition(currentListPosition);
        }

        if (shimmerFrameLayout.isShimmerVisible()) {
            shimmerFrameLayout.stopShimmer();
            shimmerFrameLayout.setVisibility(View.GONE);
        }
        if (swipyRefreshLayout.isRefreshing()) {
            swipyRefreshLayout.setRefreshing(false);
        }

       

    },error -> {

    });


    RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
    requestQueue.add(request);


}

有什么可以加快速度的黑客吗?

我将实现sqlite来存储数据并在应用启动时显示。因此,用户无法感觉到加载时间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?