Nutzen von Retrofit in Android

Ich habe eine Android-App mit 3 Aktivitäten:

Eine AnmeldeaktivitätEine Aufgabenaktivität, bei der alle Aufgaben angezeigt werden, die einen Benutzer betreffen (mit einem Array-Adapter ausgefüllt).Eine Task_Detail-Aktivität, die sich aus dem Klicken auf eine Task in der Liste ergibt

Ich muss REST Apis konsumieren. Die Recherchen, die ich bisher durchgeführt habe, veranlassen mich, Retrofit zu verwenden. Ich habe nachgesehen, wie man es benutzt und habe herausgefunden, dass:

Stellen Sie die Basis-URL in der Hauptaktivität ein (meine ist die Anmeldeaktivität)Ich muss eine API-Klasse erstellen und meine Funktionen mithilfe von Anmerkungen definieren.Verwenden Sie die Klasse Rest Adapter in der Aktivität und definieren Sie Rückrufe.

äre meine App eine Einzelaktivitäts-App gewesen, hätte ich alles in meiner MainActivity.java-Datei zerkleinert, aber ich weiß nicht, wie und wo ich den gesamten Code aus den Schritten 1, 2, 3 zur Verwendung in meinen drei Aktivitäten einfügen soll Bitte helfen Sie, indem Sie erklären, wie Retrofit in meiner App verwendet wird. Danke vielmals

Speziell benötige ich Netzwerkanrufe, um: 1. den Benutzer anzumelden 2. alle Aufgaben des Benutzers abzurufen. Und für beide würde ich eine bestimmte REST-API verwenden.

*********************************************
          Calling Api USing Retrofit
*********************************************
**Dependancies** :-
      implementation 'com.android.support:recyclerview-v7:27.1.1'
        implementation 'com.squareup.picasso:picasso:2.5.2'
        implementation 'com.android.support:cardview-v7:27.1.1'
    enter code here
**Model**
use the Pozo class

**Api Call**
 -> getLogin()    // use the method



  //API call for Login
    private void getLogin()
    {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
                WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
        AsyncHttpClient client = new AsyncHttpClient();
        RequestParams requestParams = new RequestParams();
        requestParams.put("email_id", edit_email.getText().toString());
        requestParams.put("password", edit_password.getText().toString());
        Log.e("", "LOGIN URL==>" + Urls.LOGIN + requestParams);
        Log.d("device_token", "Device_ Token" + FirebaseInstanceId.getInstance().getToken());
        client.post(Urls.LOGIN, requestParams, new JsonHttpResponseHandler() {
            @Override
            public void onStart() {
                super.onStart();
                ShowProgress();
            }

            @Override
            public void onFinish() {
                super.onFinish();
                Hideprogress();

            }

            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                super.onSuccess(statusCode, headers, response);
                Log.e("", "Login RESPONSE-" + response);
                Login login = new Gson().fromJson(String.valueOf(response), Login.class);
                edit_email.setText("");
                edit_password.setText("");
                if (login.getStatus().equals("true")) {
                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
                    MDToast mdToast = MDToast.makeText(SignInActivity.this, String.valueOf("User Login Successfully!"),
                            MDToast.LENGTH_SHORT, MDToast.TYPE_SUCCESS);
                    mdToast.show();
                    Utils.WriteSharePrefrence(SignInActivity.this, Util_Main.Constant.EMAIL, login.getData().getEmailId());
                    Utils.WriteSharePrefrence(SignInActivity.this, Constant.USERID, login.getData().getId());

                    Utils.WriteSharePrefrence(SignInActivity.this, Constant.USERNAME, login.getData().getFirstName());
                    Utils.WriteSharePrefrence(SignInActivity.this, Constant.PROFILE, login.getData().getProfileImage());
                    hideKeyboard(SignInActivity.this);
                    Intent intent = new Intent(SignInActivity.this, DashboardActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(intent);
                    finish();
                } else {
                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
                    MDToast mdToast = MDToast.makeText(SignInActivity.this, String.valueOf("Login Denied"),
                            MDToast.LENGTH_SHORT, MDToast.TYPE_ERROR);
                    mdToast.show();
                }
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
                super.onFailure(statusCode, headers, responseString, throwable);
                Log.e("", throwable.getMessage());
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
                MDToast mdToast = MDToast.makeText(SignInActivity.this, "Something went wrong",
                        MDToast.LENGTH_SHORT, MDToast.TYPE_ERROR);
                mdToast.show();
            }
        });
    }

Antworten auf die Frage(15)

Ihre Antwort auf die Frage