Как получить и отобразить данные JSON по идентификатору или имени на экране (Android) - PullRequest
0 голосов
/ 06 ноября 2019

Рассмотрим:

      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.

Поэтому, когда я набираю идентификатор как «1», он должен отображать данные этого конкретного человека из данных JSON под кнопкой в ​​виде текстового представления. Какова будет логика для этого?

Выше JSON.

Ответы [ 3 ]

0 голосов
/ 06 ноября 2019

обо всем по порядку. Вам нужно использовать сетевые библиотеки, такие как Retrofit, Volley и т. Д. Для получения контента JSON с сервера через API. Дооснащение происходит быстрее чем залп. Используйте метод POST для отправки идентификатора на сервер, и со стороны API вам нужно получить данные на основе этого идентификатора, преобразовать их в JSON и отправить ответ.

Перейти черезэта ссылка для более подробной информации. https://square.github.io/retrofit

0 голосов
/ 06 ноября 2019

Если вы получаете полный контент JSON, вам нужно проанализировать список и получить объект JSON, связанный с идентификатором человека.

В onClick вы можете получить идентификатор по

// 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
    }
}
...

Поскольку вы используете Дооснащение .

0 голосов
/ 06 ноября 2019

Когда вы получили значение, которое хотите отобразить, тогда вы можете использовать это:

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")
}
...