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 ergibtIch 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();
}
});
}