【问题标题】:Android / JSON return object from two JSON URLS in same activityAndroid / JSON 从同一活动中的两个 JSON URL 返回对象
【发布时间】:2016-07-31 03:16:27
【问题描述】:

这是代码:

@Override
        protected DVLAInformation doInBackground(String... params) {
            try {

                Intent intent = getIntent();
                String dvlaNumFin = intent.getStringExtra("dvlaNumber");

                final URL url = new URL("https://dvlasearch.appspot.com/DvlaSearch?licencePlate=" + dvlaNumFin + "&apikey=");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();


                connection.setRequestMethod("GET");
                connection.setRequestProperty("USER-AGENT", "Mozilla/5.0");
                connection.setRequestProperty("ACCEPT-LANGUAGE", "en-US,en;0.5");

                BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder responseOutput = new StringBuilder();
                while ((line = br.readLine()) != null) {
                    responseOutput.append(line);
                }
                br.close();

                DVLAInformation obj = new DVLAInformation(url.toString());
                obj.readAndParseJSON(responseOutput.toString());



                return obj;


            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;


        }

我的问题是如何在同一活动中从两个 JSON URL 返回对象

例如我会有两个网址

final URL url = new URL("https://dvlasearch.appspot.com/DvlaSearch?licencePlate=" + dvlaNumFin + "&apikey=DvlaSearchDemoAccount");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();

final URL url2 = new URL("https://dvlasearch.appspot.com/MotHistory?licencePlate=mt09nks&apikey=DvlaSearchDemoAccount");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();

而且我不知道如何返回这样的东西:

    DVLAInformation obj = new DVLAInformation(url.toString());
                    obj.readAndParseJSON(responseOutput.toString());
    DVLAInformation obj2 = new DVLAInformation(url2.toString());
                    obj2.readAndParseJSON(responseOutput.toString());

return obj, obj2

抱歉我的解释,我知道方法不对,我只是试着解释一下我想做什么。

找到这个CLICK,但不明白如何应用它

【问题讨论】:

    标签: java android json url android-asynctask


    【解决方案1】:

    看看Retrofit。如果您需要指导,您可能会发现这个Tutorial 很有用。

    作为替代方案,您可以使用 OkHttp 并链接 HTTP 请求。

    【讨论】:

    • 还有其他方法吗?比如创建两个 AsyncTask 或两个 doInBackground?
    • 可以,但不要使用 AsyncTasks,它们仅用于短期操作,请查看 Executors
    • 这是我需要的,作为短期操作
    • 找到教程(已添加到帖子中)但不明白如何应用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多