Как вызвать REST API с помощью модернизации без ключа API и представить его в виде списка в Android? - PullRequest
0 голосов
/ 03 марта 2020

REST API - это "http://citywall.in/category.php"

O / P кода:

{
    "category": [{
        "id": "1",
        "name": "Recipe",
        "image": "receipe.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }, {
        "id": "2",
        "name": "Gardening",
        "image": "gardening.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }, {
        "id": "3",
        "name": "Services",
        "image": "services.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }, {
        "id": "4",
        "name": "Tourism",
        "image": "tourism.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }, {
        "id": "5",
        "name": "Lifestyle",
        "image": "lifestyle.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }, {
        "id": "6",
        "name": "Other",
        "image": "other.jpg",
        "createdDate": "2019-03-27 00:00:00"
    }]
}

1 Ответ

0 голосов
/ 03 марта 2020

Кулак, который вам нужно создать. Retrofit:

   Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("http://citywall.in/")
    .build();

Затем вы должны создать и связать, где Category соответствует классу для каждого элемента в списке категорий:

public interface CategoryServiceInterface{
    @Get("/category.php")
    Call<Response> getCategoryList(); 
}

Response класс является классом данных:

   public class Response{
        @SerializedName("category")
        private List<Category> categoryList = new ArrayList()

        /**
            Getters and setters....
        */
   }

   public class Category{
       @SerializedName("id")
       private String id;
       @SerializedName("name")
       private String name;
       @SerializedName("image")
       private String imageName;
       @SerializedName("createdDate")
       private Date createdDate;

       /**
            Getters and setters....
        */
   }

Теперь у вас есть все фундаментальные. просто позвоните по следующему номеру:

   CategoryServiceInterface service = retrofit.create(CategoryServiceInterface.class)

   Response response = service.getCategoryList().body()

Теперь у вас есть модель данных, которая должна присутствовать в списке android. Для более подробной информации обратитесь к следующей ссылке: https://square.github.io/retrofit/

...