Brauche Hilfe für retrofit-login-Beispiel?

http://172.16.7.203/sfAppServices/SF_UserLogin.svc/rest/login/

in diesem username und Passwort ist ein Teil davon ich post müssen die vom Benutzer eingegebenen Benutzernamen und das Kennwort aus edittext und immer json-Antwort, wie diese

{"Result":"1","UserID":"0"} 

wie man json mit Nachrüstung . Habe ich erfolgreich gemacht, dies mit asynctask . Aber das Gefühl ziemlich schwierig zu implementieren, durch Nachrüstung.
meine Frage ist

  • Das ist die Basis-url?
  • in-Schnittstelle, die verfügbar gemacht werden sollten in post-Methode.
  • Wie bekomme ich die json-Antwort vom rest-service über json .

Unten ist meine Haupttätigkeit:

 package com.example.first.servicefirst;

 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 import android.widget.Toast;

 import retrofit.Callback;
 import retrofit.GsonConverterFactory;
 import retrofit.Response;
 import retrofit.Retrofit;

 public class MainActivity extends Activity {
EditText password,userName;
Button login,resister;
ProgressBar progressbar;
TextView tv;

 String url="http://172.16.7.203/sfAppServices/SF_UserLogin.svc/rest/login/";

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    password=(EditText) findViewById(R.id.password);

    userName=(EditText) findViewById(R.id.txtEmployeeCode);

    login=(Button) findViewById(R.id.btnsignin);
    userName.setBackgroundResource(R.drawable.colorfoucs);


    //progess_msz.setVisibility(View.GONE);
    ConnectivityManager cn=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo nf=cn.getActiveNetworkInfo();
    if(nf != null && nf.isConnected()==true )
    {
        Toast.makeText(this, "Network Available", Toast.LENGTH_LONG).show();

    } else {
      showAlertDialog(MainActivity.this,"No Network","Please Check Your Network Connectivity",true);
    }

    final   ConnectionDetector    cd = new ConnectionDetector(getApplicationContext());

    login.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            progressbar = (ProgressBar) findViewById(R.id.progressBar);
            progressbar.setVisibility(View.VISIBLE);


          login();

        }
    });


}

public void showAlertDialog(Context context, String title, String message, Boolean status) {
    AlertDialog alertDialog = new AlertDialog.Builder(context).create();

    //Setting Dialog Title
    alertDialog.setTitle(title);

    //Setting Dialog Message
    alertDialog.setMessage(message);

    //Setting alert dialog icon


    //Setting OK Button
    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });

    //Showing Alert Message
    alertDialog.show();
}
public void login(){
Retrofit retro = new   
Retrofit.Builder().baseUrl("http://172.16.7.203").addConverterFactory(GsonConverterFactory.create()).build();
RetrofitRest retrofitRest = retro.create(RetrofitRest.class);
String s1 = userName.getText().toString();
String s2 = password.getText().toString();
if (s1.equals("")) {
    userName.setError("Enter User Name");
}
if (s2.equals("")) {
    password.setError("Enter Password");
}

retrofitRest.login(s1,s2, new Callback<ModelLogin>() {
    @Override
    public void onResponse(Response<ModelLogin> response, Retrofit retrofit) {
        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
        startActivity(intent);
    }

    @Override
    public void onFailure(Throwable t) {

    }
});
 }
 }

Unten ist mein interface:

 public interface RetrofitRest {
@FormUrlEncoded
@POST("/sfAppServices/SF_UserLogin.svc/rest/login/")
Callback<ModelLogin> login(@Query("empcode") String employeecode, @Query("password") String password,       
Callback<ModelLogin> callback);
 }

Mein pojo:

 package com.example.first.servicefirst;

import com.google.gson.annotations.SerializedName;

public class ModelLogin {

private String empcode;
private ModelLogin(){}
@SerializedName("Result")
private String result;
public String getResult(){
    return result;
}
private String password;
public String getEmpcode() {
    return empcode;
}


public String getPassword() {
    return password;
}

public void setEmpcode(String empcode) {
    this.empcode = empcode;
}



public void setPassword(String password) {
    this.password = password;
}

}

Schreibe einen Kommentar