- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 http://www.jsonschema2pojo.org/ 从我的 JSON 自动生成了 POJO我用它来改造。这是 JSON:
[{"id":1942,"name":"The Witcher 3: Wild Hunt","first_release_date":1431993600000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/z5t0yuhyiiui1ickwhgj.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/farvemmmxav0bgt6wx7t.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/em1y2ugcwy2myuhvb9db.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/usxccsncekxg0wd1v6ee.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/mnljdjtrh44x4snmierh.jpg"}],"videos":[{"video_id":"ZpiczsigQto"},{"video_id":"5nLipy-Z4yo"},{"video_id":"FP7no968jVU"},{"video_id":"_IBAovRNCuA"},{"video_id":"QrwGXAcE6ZA"},{"video_id":"6f8TbvsZ5Mk"},{"video_id":"bcEAsOC_8L0"},{"video_id":"xQGam9OHSUo"},{"video_id":"p14dHAwLOmo"},{"video_id":"8ZLfJjlZKvc"},{"video_id":"sb81f-ejNSI"},{"video_id":"yowv6_rspoM"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/tri1c6vbydeosoqajwt1.jpg"}},{"id":80,"name":"The Witcher","first_release_date":1193356800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qzgxs5t8zw40o2m290li.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qwrg0zmgl3hue6zs8bbb.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/jquhmu9izv8i2zf3tb8l.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/jhc0fbq7v6xnwqs9c4pm.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ekchkvznt1pkre0cvbpl.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/nrkdzmkevbbevdvm9bxh.jpg"}},{"id":44549,"name":"The Witcher 3: Wild Hunt Collector's Edition","first_release_date":1434672000000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/y8caw9l1xoy5ucqoz2ge.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wej7rkkjys0lohit1pic.jpg"}},{"id":22439,"name":"The Witcher 3: Wild Hunt - Game of the Year Edition","first_release_date":1472515200000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/zvijqp04apwmzqvlgxej.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/a4tiz3sfoblnau6olx10.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/pziw7giojvmp8baw617b.jpg"}],"videos":[{"video_id":"qy8jmm9kY4A"},{"video_id":"YmLeUJgzsXY"},{"video_id":"5wmNeg5WVck"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/whmf3el1gv3ujreysrrh.jpg"}},{"id":20275,"name":"The Witcher: Enhanced Edition","first_release_date":1221523200000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iqmzjkk9xiy7lxjadjcv.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/hcemi3tnjzajiog5p1sk.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/xrry4grvrwvzehqb3guz.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/k3r3djcocmdhn00vwxs8.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/i1ucakdnk52r3i2rbpdm.jpg"}],"videos":[{"video_id":"LMStRRVPt6g"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iu0fwtdxbhxq3nueup9w.jpg"}},{"id":13166,"name":"The Witcher 3: The Wild Hunt - Blood and Wine","first_release_date":1464652800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/bhvtikx5as53awacxlac.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/iuzxf8iboeyxkggywbsj.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/gynhuum2yb8imujgjlxn.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/k6zrdwofvuccfkkj6qus.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ixuz3ti1kiqnlzrtodnf.jpg"}],"videos":[{"video_id":"6gpHJWkPYto"},{"video_id":"2OOPrprSwC0"},{"video_id":"k-QWCiHZPNc"},{"video_id":"rIoPrbzI5Z4"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/yqbnxszx6mnpg2ymfdsw.jpg"}},{"id":12503,"name":"The Witcher 3: The Wild Hunt - Hearts of Stone","first_release_date":1444694400000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wrke9dxtduvuubfrm0kq.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/rzpm2ms8e15uekzlwrvy.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wiw1xlpfihxbe1xlft3t.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lz3gmntnjo5fojxzvrg5.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wv5bxefrjdgzxkdufqjg.jpg"}],"videos":[{"video_id":"vyoi-aVU0mw"},{"video_id":"mTHvlito464"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/slppva5kydxsw4ykw0zf.jpg"}},{"id":8765,"name":"The Witcher: Adventure Game","first_release_date":1417046400000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wonicxamvtkyaxdwmvrz.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/qihqvlqmlhr6gjcxqg2k.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/ocwcjm3dn8b2mhe9mwsp.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/bfmiksnjx0d6poi4qa7i.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/gaiyxvvjnvszbf0yeeni.jpg"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lchergnnb5liqfyatkad.jpg"}},{"id":9689,"name":"The Witcher Battle Arena","first_release_date":1421884800000,"screenshots":[{"url":"//images.igdb.com/igdb/image/upload/t_thumb/wmszzamngmfue3953he7.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/sf8u8xqf0d569pihrhxe.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/olufs65pklmiylkhko2s.jpg"},{"url":"//images.igdb.com/igdb/image/upload/t_thumb/lidn5pjatpkb8skabk8d.jpg"}],"videos":[{"video_id":"2mWw7onLGs0"}],"cover":{"url":"//images.igdb.com/igdb/image/upload/t_thumb/xwkyw8mxtatbcbzvnjnk.jpg"}},{"id":89846,"name":"The Witcher 3: Wild Hunt Prima Guide Edition"}]
这些是生成的 POJOS:
-----------------------------------com.example.Cover.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Cover {
@SerializedName("url")
@Expose
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
-----------------------------------com.example.Result.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Result {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("name")
@Expose
private String name;
@SerializedName("first_release_date")
@Expose
private Integer firstReleaseDate;
@SerializedName("screenshots")
@Expose
private List<Screenshot> screenshots = null;
@SerializedName("videos")
@Expose
private List<Video> videos = null;
@SerializedName("cover")
@Expose
private Cover cover;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getFirstReleaseDate() {
return firstReleaseDate;
}
public void setFirstReleaseDate(Integer firstReleaseDate) {
this.firstReleaseDate = firstReleaseDate;
}
public List<Screenshot> getScreenshots() {
return screenshots;
}
public void setScreenshots(List<Screenshot> screenshots) {
this.screenshots = screenshots;
}
public List<Video> getVideos() {
return videos;
}
public void setVideos(List<Video> videos) {
this.videos = videos;
}
public Cover getCover() {
return cover;
}
public void setCover(Cover cover) {
this.cover = cover;
}
}
-----------------------------------com.example.Screenshot.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Screenshot {
@SerializedName("url")
@Expose
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
-----------------------------------com.example.Video.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Video {
@SerializedName("video_id")
@Expose
private String videoId;
public String getVideoId() {
return videoId;
}
public void setVideoId(String videoId) {
this.videoId = videoId;
}
}
总是收到失败响应...知道可能是什么原因吗?
这是我改造的界面:
public interface IGDBApi {
@Headers({
"Accept: application/json",
"user-key: (removed for this post)"
})
@GET("games/?search=TheWitcher3&fields=id,name,first_release_date,cover.url,screenshots.url,videos.video_id")
Call<List<Result>> loadFollowers();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api-2445582011268.apicast.io/")
.addConverterFactory(GsonConverterFactory.create())
.build();
}
这是我在主要 Activity 中进行改造的方法:
public void runretrofit(){
//Starts Retrofit
final IGDBApi gitHubApi = IGDBApi.retrofit.create(IGDBApi.class);
//Sets up up the API call
Call<List<Result>> call = gitHubApi.loadFollowers();
//Runs the call on a different thread
Log.v("URL Called", call.request().url() + "");
call.enqueue(new Callback<List<Result>>() {
@Override
public void onResponse(Call<List<Result>> call, Response<List<Result>> response) {
Log.v("RESULT", "JSON: "+new Gson().toJson(response.body()) );
}
@Override
public void onFailure(Call<List<Result>> call, Throwable t) {
Log.v("RESULT Fail", "Request failed");
}
});
}
最佳答案
首先:
制作
private Integer firstReleaseDate;
到
private Long firstReleaseDate;
第二
检查所有具有值的列表项。如果某些项具有浮点值,则会抛出错误。
关于android - 改造 Pojo 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49555304/
我最近在/ drawable中添加了一些.gifs,以便可以将它们与按钮一起使用。这个工作正常(没有错误)。现在,当我重建/运行我的应用程序时,出现以下错误: Error: Gradle: Execu
Android 中有返回内部存储数据路径的方法吗? 我有 2 部 Android 智能手机(Samsung s2 和 s7 edge),我在其中安装了一个应用程序。我想使用位于这条路径中的 sqlit
这个问题在这里已经有了答案: What's the difference between "?android:" and "@android:" in an android layout xml f
我只想知道 android 开发手机、android 普通手机和 android root 手机之间的实际区别。 我们不能从实体店或除 android marketplace 以外的其他地方购买开发手
自Gradle更新以来,我正在努力使这个项目达到标准。这是一个团队项目,它使用的是android-apt插件。我已经进行了必要的语法更改(编译->实现和apt->注释处理器),但是编译器仍在告诉我存在
我是android和kotlin的新手,所以请原谅要解决的一个非常简单的问题! 我已经使用导航体系结构组件创建了一个基本应用程序,使用了底部的导航栏和三个导航选项。每个导航选项都指向一个专用片段,该片
我目前正在使用 Facebook official SDK for Android . 我现在正在使用高级示例应用程序,但我不知道如何让它获取应用程序墙/流/状态而不是登录的用户。 这可能吗?在那种情
我在下载文件时遇到问题, 我可以在模拟器中下载文件,但无法在手机上使用。我已经定义了上网和写入 SD 卡的权限。 我在服务器上有一个 doc 文件,如果用户单击下载。它下载文件。这在模拟器中工作正常但
这个问题在这里已经有了答案: What is the difference between gravity and layout_gravity in Android? (22 个答案) 关闭 9
任何人都可以告诉我什么是 android 缓存和应用程序缓存,因为当我们谈论缓存清理应用程序时,它的作用是,缓存清理概念是清理应用程序缓存还是像内存管理一样主存储、RAM、缓存是不同的并且据我所知,缓
假设应用程序 Foo 和 Eggs 在同一台 Android 设备上。任一应用程序都可以获取设备上所有应用程序的列表。一个应用程序是否有可能知道另一个应用程序是否已经运行以及运行了多长时间? 最佳答案
我有点困惑,我只看到了从 android 到 pc 或者从 android 到 pc 的例子。我需要制作一个从两部手机 (android) 连接的 android 应用程序进行视频聊天。我在想,我知道
用于使用 Android 以编程方式锁定屏幕。我从 Stackoverflow 之前关于此的问题中得到了一些好主意,并且我做得很好,但是当我运行该代码时,没有异常和错误。而且,屏幕没有锁定。请在这段代
文档说: android:layout_alignParentStart If true, makes the start edge of this view match the start edge
我不知道这两个属性和高度之间的区别。 以一个TextView为例,如果我将它的layout_width设置为wrap_content,并将它的width设置为50 dip,会发生什么情况? 最佳答案
这两个属性有什么关系?如果我有 android:noHistory="true",那么有 android:finishOnTaskLaunch="true" 有什么意义吗? 最佳答案 假设您的应用中有
我是新手,正在尝试理解以下 XML 代码: 查看 developer.android.com 上的文档,它说“starStyle”是 R.attr 中的常量, public static final
在下面的代码中,为什么当我设置时单选按钮的外观会发生变化 android:layout_width="fill_parent" 和 android:width="fill_parent" 我说的是
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
假设我有一个函数 fun myFunction(name:String, email:String){},当我调用这个函数时 myFunction('Ali', 'ali@test.com ') 如何
我是一名优秀的程序员,十分优秀!