retrofit2 parth


implementation 'com.squareup.retrofit2:retrofit:2.5.0'implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.google.code.gson:gson:2.8.5'

import android.content.Context;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;


public class ApiClient {

    public static String BASE_URL = "https://sktechnocastt.000webhostapp.com/mobilecash/";
   // public static String BASE_URL = "http://192.168.43.198/mobilecash/";    private static Retrofit retrofit = null;

    public static OkHttpClient client = new OkHttpClient.Builder()
            .cache(null)
            .connectTimeout(30, TimeUnit.SECONDS)
            .writeTimeout(30, TimeUnit.SECONDS)
            .readTimeout(30, TimeUnit.SECONDS)
            .build();


    public static Retrofit getClient() {
        if (retrofit==null) {

            retrofit = new Retrofit.Builder()
                    .baseUrl(BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create())
                    .client(client)
                    .build();
        }
        return retrofit;
    }

    public static ApiInterface getApiService() {
        return getClient().create(ApiInterface.class);
    }
}



import retrofit2.Call;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;

public interface ApiInterface {

@FormUrlEncoded
@POST("user_home.php")
Call<UserHomeResponceModel> user_home(@Header("Authorization") String token,
                                      @Field("user_deviceid") String user_deviceid,
                                      @Field("id") String id,
                                      @Field("user_appid") String user_appid);
}

public void user_home() {

    ApiInterface apiService = ApiClient.getApiService();

    call_user_home = apiService.user_home("Bearer " + loginPreferences.getToken(), user_deviceid, loginPreferences.getId(), loginPreferences.getUserAppId());
    call_user_home.enqueue(new Callback<UserHomeResponceModel>() {
        @Override
        public void onResponse(Call<UserHomeResponceModel> call, Response<UserHomeResponceModel> response) {
            if (response.isSuccessful()) {

                Log.i(TAG, "user_start called for userHometResponceModel : " + new Gson().toJson(response.body()));
                UserHomeResponceModel userHomeResponceModel = response.body();

                if (userHomeResponceModel.getSuccess() == 1) {

                    Gson gson = new Gson();
                    String spins = gson.toJson(userHomeResponceModel.getSpins());
                    String points = gson.toJson(userHomeResponceModel.getPoints());
                    String cards = gson.toJson(userHomeResponceModel.getCards());
                    loginPreferences.setHomeSession(userHomeResponceModel.getData().getUser_point() + "",userHomeResponceModel.getData().getUser_spin() + "",
                            userHomeResponceModel.getData().getUser_card() + "", spins, points, cards);

                    tv_username_point.setText("Points: "+loginPreferences.getUserPoint());
                    tv_username_rs.setText("Cards : "+loginPreferences.getUserCard());


                    List<UserHomeResponceModel.Cards> cardsList = loginPreferences.getCardsList();
                    List<String> mData = new ArrayList<>();
                    for(int i = 0; i < Integer.parseInt(loginPreferences.getUserCard()); i ++) {
                        final int min = 0;
                        final int max = cardsList.size() - 1;
                        final int random = new Random().nextInt((max - min) + 1) + min;

                        mData.add(cardsList.get(random).getCard_point() + "");
                    }
                    Log.i(TAG, "user_start called for userHometResponceModel mData: " + mData.toString());

                    mAdapter = new SwipeStackAdapter(mData);
                    mSwipeStack.setAdapter(mAdapter);
                    mAdapter.notifyDataSetChanged();

                    if(loginPreferences.getCardsVideoCount() != 0 && loginPreferences.getCardsVideoCount() % 3 == 0) {
                        llo_dialog.setVisibility(View.VISIBLE);
                    } else {
                        llo_dialog.setVisibility(View.GONE);
                    }

                } else {
                    Toast.makeText(ScrachCardActivity.this, userHomeResponceModel.getMessage(), Toast.LENGTH_LONG).show();
                }

            } else {

                Toast.makeText(ScrachCardActivity.this, getResources().getString(R.string.err_responce), Toast.LENGTH_LONG).show();
            }
        }

        @Override
        public void onFailure(Call<UserHomeResponceModel> call, Throwable t) {
            if (call.isCanceled()) {

            } else {
                Toast.makeText(ScrachCardActivity.this, getResources().getString(R.string.err_responce), Toast.LENGTH_LONG).show();
            }
        }
    });
}

Comments

Popular posts from this blog

retrofil gjstatus lanuage

form object

Login Preference in android create class