如何通过 ID 或名称在屏幕上获取和显示 JSON 数据 (Android)
How to fetch and display JSON data by id or name on screen (Android)
考虑:
public RetroPhoto(Integer id, String email, String first_name, String last_name, String avatar) {
this.id = id;
this.email = email;
this.first_name = first_name;
this.last_name = last_name;
this.avatar = avatar;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}
假设我在屏幕上有一个编辑文本和按钮。
我必须通过 JSON 数据通过 ID 获取一个人的详细信息。
因此,当我将 id 键入“1”时,它应该会在按钮下方的 JSON 数据中显示该特定人员的详细信息作为文本视图。它的逻辑是什么?
以上为JSON.
当你得到想要显示的值后,就可以使用这个了:
EditText mEdit;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEdit = (EditText)findViewById(R.id.edittext);
callAPI();
}
public void callAPI(){
/** Do your API call and retrieve the value/id **/
mEdit.setText("value from API")
}
要事第一。您需要使用 Retrofit、Volley 等网络库通过 API 从服务器获取 JSON 内容。 Retrofit 比 Volley 更快。使用 POST 方法将 id post 发送到服务器,从 API 端你需要根据该 id 获取数据并将其转换为 JSON 并发回响应。
通过此 link 了解更多详细信息。 https://square.github.io/retrofit
如果要获取完整的 JSON 内容,则需要解析列表并获取与人员 ID 相关的 JSON 对象。
在onClick中,可以通过
获取id
// Probably check if it's a valid number and non-empty
int id = parseInt(editTextId.getText().toString())
retrofitInstance.apiCall.enqueue ......
....
onResponse (){
List<RetroPhoto> list = response.body();
boolean idFound = false;
for (int i=0; i< list.size(); i++) {
if (list.get(i).getId() == id) {
// You can get details of person here
idFound = true;
}
}
if (idFound == false) {
// Toast invalid id message
}
}
...
因为您正在使用 Retrofit。
考虑:
public RetroPhoto(Integer id, String email, String first_name, String last_name, String avatar) {
this.id = id;
this.email = email;
this.first_name = first_name;
this.last_name = last_name;
this.avatar = avatar;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
}
假设我在屏幕上有一个编辑文本和按钮。 我必须通过 JSON 数据通过 ID 获取一个人的详细信息。
因此,当我将 id 键入“1”时,它应该会在按钮下方的 JSON 数据中显示该特定人员的详细信息作为文本视图。它的逻辑是什么?
以上为JSON.
当你得到想要显示的值后,就可以使用这个了:
EditText mEdit;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEdit = (EditText)findViewById(R.id.edittext);
callAPI();
}
public void callAPI(){
/** Do your API call and retrieve the value/id **/
mEdit.setText("value from API")
}
要事第一。您需要使用 Retrofit、Volley 等网络库通过 API 从服务器获取 JSON 内容。 Retrofit 比 Volley 更快。使用 POST 方法将 id post 发送到服务器,从 API 端你需要根据该 id 获取数据并将其转换为 JSON 并发回响应。
通过此 link 了解更多详细信息。 https://square.github.io/retrofit
如果要获取完整的 JSON 内容,则需要解析列表并获取与人员 ID 相关的 JSON 对象。
在onClick中,可以通过
获取id// Probably check if it's a valid number and non-empty
int id = parseInt(editTextId.getText().toString())
retrofitInstance.apiCall.enqueue ......
....
onResponse (){
List<RetroPhoto> list = response.body();
boolean idFound = false;
for (int i=0; i< list.size(); i++) {
if (list.get(i).getId() == id) {
// You can get details of person here
idFound = true;
}
}
if (idFound == false) {
// Toast invalid id message
}
}
...
因为您正在使用 Retrofit。