Skip to content

arirang372/AndroidRestLibrary

Repository files navigation

AndroidRestLibrary

This library makes user call the webservice easy. Here are some examples below.

This is an example to call webservice (GET Request) through Retrofit 1

public interface RetroOneServerEndpoints
{
    @GET("/v0/item/{id}.json")
    void getStory(@Path("id") int id, @Query("print") String print, Callback<Response> callback );

}

 final RestfulServiceWrapper<RetroOneServerEndpoints> wrapper = new RestfulServiceWrapper<>();
        RetroOneServerEndpoints endpoints = wrapper.createEndpoint(BASE_URL_RETRO_ONE,
                RetroOneServerEndpoints.class);
        endpoints.getStory(8863,"pretty", new Callback<Response>() {
            @Override
            public void success(Response result, Response response)
            {
                BufferedReader reader;

                try
                {

                    reader = new BufferedReader(new InputStreamReader(result.getBody().in()));

                    //convert the json string back to object
                    Gson gson = new GsonBuilder().disableHtmlEscaping()
                                                 .setPrettyPrinting()
                                                 .serializeNulls()
                                                 .create();
					/**
					*  This response can receive any PoJos..
					*/
					
                    HackerNewsResponse res = gson.fromJson(reader, HackerNewsResponse.class);
                    String json = gson.toJson(res);
                    txtRequestResult.setText(json);
                }
                catch (Exception ex)
                {
                    ex.printStackTrace();
                }
            }

            @Override
            public void failure(RetrofitError error)
            {

            }
        });


This is an example to call webservice (GET Request) through Retrofit 2

public interface RetroTwoServerEndpoints
{
    @GET("v0/item/{id}.json")
    Call<ResponseBody> getStory(@Path("id") int id, @Query("print") String print);

}


  final RetrofitTwoServiceWrapper<RetroTwoServerEndpoints> wrapper2 = new RetrofitTwoServiceWrapper<>();
        Call<ResponseBody> call = wrapper2.createEndpoint(BASE_URL_RETRO_TWO, RetroTwoServerEndpoints.class)
                                            .getStory(8863,"pretty");

        call.enqueue(new retrofit2.Callback<ResponseBody>() {
            @Override
            public void onResponse(Call<ResponseBody> call, retrofit2.Response<ResponseBody> response)
            {
                if(response.body() != null)
                {
                    BufferedReader reader;

                    try
                    {

                        reader = new BufferedReader(new InputStreamReader(response.body().byteStream()));

                        //convert the json string back to object
                        Gson gson = new GsonBuilder().disableHtmlEscaping()
                                .setPrettyPrinting()
                                .serializeNulls()
                                .create();

                        HackerNewsResponse res = gson.fromJson(reader, HackerNewsResponse.class);
                        String json = gson.toJson(res);
                        txtRequestResult.setText(json);
                    }
                    catch (Exception ex)
                    {
                        ex.printStackTrace();
                    }

                }
            }

            @Override
            public void onFailure(Call<ResponseBody> call, Throwable t)
            {
                Log.v("onFailure", "called...");
                call.cancel();

            }
        });

You can also call PUT, OPTIONS, DELETE, and so on...

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages