gpt4 book ai didi

尽管 URL 工作正常,但对 webservice 的 Android 调用没有返回任何结果

转载 作者:行者123 更新时间:2023-11-30 03:28:15 26 4
gpt4 key购买 nike

这是我见过的最奇怪的问题。尽管我的数据库中有产品,但我得到“没有可用的产品”。

这是我的服务:

public class AllProductsService {

private String URL = "xxxx";

Gson gson;

public AllProductsService(int page) {
gson = new Gson();
URL = URL + "?page=" + Integer.toString(page);
}

private InputStream sendRequest(URL url) throws Exception {

try {
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

urlConnection.connect();

if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
return urlConnection.getInputStream();
}
} catch (Exception e) {
throw new Exception("");
}

return null;
}

public List<Product> getProducts() {

try {

InputStream inputStream = sendRequest(new URL(URL));


if(inputStream != null) {

InputStreamReader reader = new InputStreamReader(inputStream);

return gson.fromJson(reader, new TypeToken<List<Product>>(){}.getType());
}

}
catch (Exception e) {

}
return null;
}
}

还有我的 AsyncTask 类:

private class AllProductsTask extends AsyncTask<Void, Void, List<Product>> {

@Override
protected void onPreExecute() {
setSupportProgressBarIndeterminateVisibility(true);
}

@Override
protected List<Product> doInBackground(Void... params) {

AllProductsService allProductsService = new AllProductsService(current_page);
List<Product> liste = allProductsService.getProducts();

if (liste != null && liste.size() >= 1)
return liste;

return new ArrayList<Product>();
}

protected void onPostExecute(java.util.List<Product> result) {

setSupportProgressBarIndeterminateVisibility(false);

if (result.isEmpty() && isInternetPresent && current_page < 2) {
Crouton.makeText(MainActivity.this, "No product available!", Style.ALERT).show();
}

//populate adapter
}
}

当我从浏览器调用 URL 时,结果显示正确。我也尝试使用具有相同代码的不同 URL,它工作正常。我不知道为什么。

最佳答案

我认为问题是;你要退回

new ArrayList<Product>();

在 Asynctask 的 doInBackground() 中,它是 null。您应该在此处返回liste。或放置 return new ArrayList<Product>();在其他情况下

关于尽管 URL 工作正常,但对 webservice 的 Android 调用没有返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17892993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com