- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
API 响应:
{
"ok": true,
"license": "CC BY 4.0 - https:\/\/creativecommons.tankerkoenig.de",
"data": "MTS-K",
"status": "ok",
"stations": [
{
"id": "35885891-164a-4cc7-a6c9-3c6f7f4e6845",
"name": "Andreas Linke",
"brand": "Nordoel",
"street": "Peiner Str.",
"place": "Sehnde",
"lat": 52.31519,
"lng": 9.972986,
"dist": 2.3,
"diesel": 1.109,
"e5": 1.279,
"e10": 1.239,
"isOpen": true,
"houseNumber": "52",
"postCode": 31319
},
{
"id": "d4cb468e-86b0-4aa0-a862-5677d22cbab1",
"name": "ACCESS Tankstelle Sehnde",
"brand": "Access",
"street": "LEHRTER STR. 20",
"place": "SEHNDE",
"lat": 52.317781,
"lng": 9.966101,
"dist": 2.8,
"diesel": 1.109,
"e5": 1.279,
"e10": 1.249,
"isOpen": true,
"houseNumber": "",
"postCode": 31319
},
{
"id": "5bf0bee3-4dc0-4f6e-a846-cb0ac3ac2efc",
"name": "Aral Tankstelle",
"brand": "ARAL",
"street": "Iltener Straße",
"place": "Sehnde",
"lat": 52.3173637,
"lng": 9.959905,
"dist": 3.2,
"diesel": 1.139,
"e5": 1.319,
"e10": 1.289,
"isOpen": true,
"houseNumber": "8",
"postCode": 31319
},
{
"id": "096ac8b7-190d-4def-a860-6d2002f4b84e",
"name": "M1 Lehrte",
"brand": "M1",
"street": "Everner Str.",
"place": "Lehrte",
"lat": 52.36773,
"lng": 9.9967,
"dist": 5.6,
"diesel": 1.109,
"e5": null,
"e10": null,
"isOpen": true,
"houseNumber": "41",
"postCode": 31275
},
{
"id": "e1a15081-25ed-9107-e040-0b0a3dfe563c",
"name": "Sehnde, Kirchstr. 17",
"brand": "HEM",
"street": "Kirchstr.",
"place": "Sehnde",
"lat": 52.34744,
"lng": 9.928732,
"dist": 6.2,
"diesel": 1.109,
"e5": 1.269,
"e10": null,
"isOpen": true,
"houseNumber": "17",
"postCode": 31319
},
{
"id": "375a1dbb-4d61-4a4b-825a-3b2e3c0b82d8",
"name": "Lehrte , Ahltener Straße 15",
"brand": "bft",
"street": "Ahltener Straße 15",
"place": "Lehrte",
"lat": 52.372474,
"lng": 9.97253,
"dist": 6.5,
"diesel": 1.109,
"e5": 1.309,
"e10": 1.279,
"isOpen": true,
"houseNumber": "",
"postCode": 31275
},
{
"id": "45b00a42-93fa-41fe-9f9b-977b25a9832f",
"name": "OIL! Tankstelle Lehrte",
"brand": "OIL!",
"street": "Mielestr. 20",
"place": "Lehrte",
"lat": 52.3804,
"lng": 10.0061,
"dist": 6.9,
"diesel": 1.109,
"e5": 1.279,
"e10": 1.249,
"isOpen": true,
"houseNumber": "",
"postCode": 31275
}
]
}
MainActivity.java:
package com.example.benzinpreise;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import java.util.ArrayList;
import java.util.List;
import javax.xml.transform.Result;
import retrofit2.*;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class MainActivity extends AppCompatActivity {
private TextView textViewResult;
private List<Tankstellen> tankstellenList = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewResult =findViewById(R.id.text_view_result);
getTankstellen();
}
private void getTankstellen(){
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(TankstellenApi.BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
TankstellenApi tankstellenApi = retrofit.create(TankstellenApi.class);
Call<Tankstellen> call = tankstellenApi.getTankstellen("57.001","10.007","7","all","dist",TankstellenApi.API_KEY);
call.enqueue(new Callback<Tankstellen>() {
@Override
public void onResponse(Call<Tankstellen> call, Response<Tankstellen> response) {
String displayResponse = "";
String displayStations ="";
Tankstellen antwort = response.body();
List<Tankstellen.Stations> tankstellenList = antwort.stationsList;
displayResponse += "ok: " +antwort.isOk() +"\n" + "license: "+antwort.getLicense() +"\n"+ "data: "+antwort.getData() +"\n"+ "status: "+antwort.getStatus() +"\n";
for(Tankstellen.Stations stationen : tankstellenList){
displayResponse += stationen.id + " "
+ stationen.name + " "
+ stationen.brand + " "
+ stationen.street + " "
+ stationen.place + " "
+ stationen.lat + " "
+ stationen.lng + " "
+ stationen.dist + " "
+ stationen.diesel + " "
+ stationen.e5 + " "
+ stationen.e10 + " "
+ stationen.isOpen + " "
+ stationen.houseNumber + " "
+ stationen.postCode;
}
textViewResult.setText(displayResponse);
}
@Override
public void onFailure(Call<Tankstellen> call, Throwable t) {
textViewResult.setText(t.getMessage());
}
});
}
}
Tanktstellen.java
package com.example.benzinpreise;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import java.util.ArrayList;
import java.util.List;
public class Tankstellen {
private boolean ok;
private String license;
private String data;
private String status;
@SerializedName("stations")
public List <Stations> stationsList = null;
public class Stations{
@SerializedName("id")
public String id;
public String name;
public String brand;
public String street;
public String place;
public double lat;
public double lng;
public double dist;
public double diesel;
public double e5;
public double e10;
public boolean isOpen;
public String houseNumber;
public int postCode;
}
public boolean isOk() {
return ok;
}
public String getLicense() {
return license;
}
public String getData() {
return data;
}
public String getStatus() {
return status;
}
}
TankstellenAPI.java:
package com.example.benzinpreise;
import com.google.gson.JsonObject;
import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface TankstellenApi {
String BASE_URL = "https://creativecommons.tankerkoenig.de/";
String API_KEY = "50d25698-e799-22df-c47c-833b7ae62b8b";
@GET("json/list.php")
Call<Tankstellen> getTankstellen (@Query("lat") String lat,
@Query("lng") String lng,
@Query("rad") String umkreis,
@Query("type") String type,
@Query("sort") String filter,
@Query("apikey") String apikey);
}
代码中有一些适合我的德语关键字,这样我可以更好地理解代码。希望大家不要混淆。
我的问题:我只是得到
ok: true
license: CC BY 4.0 - https:\/\/creativecommons.tankerkoenig.de
data: MTS-K
status: ok
该数组没有通过 for 循环进行迭代来显示加油站数组。我不知道为什么。谁能帮我解决这个问题吗?
最佳答案
我克隆了你的代码并运行。错误出现在您的回复中。
Antwort.stationslist.size = 0
这就是为什么它不通过 for 循环进行迭代来显示加油站数组。
关于java - Android Studio 的 Retrofit2 : Cant get the array of petrol-stations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60710680/
我已将项目导入Eclipse。该API的版本为15,并且已成功编译,但我需要第7位,因为无法在我的手机上更新操作系统。将Android API的版本更改为较旧的版本(第7个)后,我无法编译该项目,发生
所以我为自己构建了一个小型服务器应用程序来充实我的简历,但我遇到了一个我无法弄清楚的问题 据我所知,我的服务器运行正常,因为我(仅在我自己的计算机上)可以连接到服务器。 一旦我尝试让任何其他计算机连接
当我尝试打电话时 $this->load->database(); 产生以下错误“调用非对象上的成员函数数据库()” 自动加载数据库也无济于事... 当我尝试自动加载它时。 对数据库的所有调用,如 $
我创建了一个 Django 项目和一个虚拟环境,我在我的 Ubuntu 服务器上安装了 python。当我尝试通过键入来运行开发服务器时 $ ./manage.py runserver 0.0.0.0
我正在尝试编译 this scrip ,但我有这个消息: Can't locate Email/Address.pm in @INC (@INC contains: C:/strawberry/per
我正在尝试将我开始的 repo 的所有权转移到另一个 github 帐户。我在我的收款账户中收到要求转让许可的通知。我点击了电子邮件中的链接。 Github 回复“抱歉,此存储库传输无法完成。”有没有
我在我的项目中使用谷歌分析,我得到“套接字或流问题”。错误信息。 W/GoogleAnalyticsTracker(416): Problem with socket or streams. W/Go
这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭
我正在尝试将命令行参数解析为 Options options = new Options(); options.addOption("c", "count", false, "numb
我正在尝试为我的 html5 音频播放器制作进度条,并制作通过点击来更改轨道播放时间的功能。我决定使用输入[范围]来完成此操作,但是当我点击栏时,当前播放时间不会更新,轨道只是从头开始播放: 我的ht
我是 XCode 和 Swift 的新手...但是,我想尝试一下...我想要两个可拖动的图像,如果它们碰撞,应该弹出一个警报窗口...我已附加下面的代码...当我运行代码时,我收到以下警告: UIPa
我一直在关注一个教程,它有点旧,1.6 Java,我使用1.8。所以有些事情发生了变化,这是我的代码: private int width = 600; private int height = 40
我正在开发一个项目,我必须在其中创建一个网络应用程序。该网络应用程序在属于我们大学的服务器上通过 Jetty 运行。 我有来自该服务器的备份,该备份可以在该服务器上运行。但我想在 eclipse 中使
我从 svgalib 编译了一些示例,控制台显示: 使用EGA驱动程序 svglib 1.4.3 仅此而已,就像它在某个地方画的一样,但我看不到它。这可能是一个关于 svgalib 的非常菜鸟的问题,
正如您在图像上看到的那样,我在 GridView 单元格中有一个 gridview。我正在尝试删除我认为是单词 has 下方和 next 单词之外的 2 条水平线。 foreach (TableCe
这是我的声明代码: database = FirebaseDatabase.getInstance(); myRef = database.getReference("lifts"); 为什么我不能添
我正在尝试从 AppA 启动 AppB。关于 AppB I Activity 的问题: Intent i = new Intent(); i.setAction("START
我最近将此添加到我的流程配置中,因为大量与流程拾取的节点模块相关的错误 [ignore] .*/node_modules/.* 这解决了那些错误,但引入了新错误。现在,我导入的每个模块都会导致错误,其
在一个项目中,我们同时使用了 Http 和 HttpClient 来获取 header 参数。 Http 返回 header 参数,但 HttpClient 没有。 constructor(priva
我实际上面临一个问题。我在生产服务器上安装了 pgbouncer,在该服务器上我还有一个 Odoo 实例和 postgresql。 也许: 在我的日志中,我有这个: 2018-09-10 16:39:
我是一名优秀的程序员,十分优秀!