改造库的后期方法错误

时间:2015-08-02 16:25:21

标签: java android web-services retrofit

我正在使用改造库来进行Web服务。当我使用get方法进行服务时,它给了我正确的结果但是当我使用post方法来调用web服务时我没有得到欲望结果我总是得到一个结果,即0

此服务是登录服务,因为我正在使用发布请求,所以请阅读我的代码,即下面给出的解决方案

我的代码在这里

界面改造

@POST("/api.php?rquest=login")
public void authUser(@Body String un,
        Callback<String> cb);

这是主要活动代码

EditText etun, etpass;
Button btnlogin;
String endpoint = "http://androidums.developtechtutorial.com/rest";
ProgressDialog pd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // find components

    etun = (EditText) findViewById(R.id.etun);
    etpass = (EditText) findViewById(R.id.etpass);

    btnlogin = (Button) findViewById(R.id.btnlogin);

    btnlogin.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String un = etun.getText().toString().trim();
            String pass = etpass.getText().toString();

            pd = new ProgressDialog(MainActivity.this);
            pd.setCancelable(false);
            pd.setMessage("Loading Please Wait...........");
            pd.show();

            RestAdapter adapter = new RestAdapter.Builder()
                    .setLogLevel(LogLevel.FULL).setEndpoint(endpoint)
                    .setLogLevel(LogLevel.FULL).build();

            LoginApi obj = adapter.create(LoginApi.class);
            System.out.println("Username " + un + " Passowrd " + pass);

            JSONObject objjson = new JSONObject();
            try {
                objjson.put("pwd", pass);
                objjson.put("un", un);

            } catch (Exception e) {
                // TODO: handle exception
            }

            String data = objjson.toString();
            System.out.println("json object ...................." + data);

            obj.authUser(data, new Callback<String>() {

                @Override
                public void success(String arg0, Response arg1) {
                    // TODO Auto-generated method stub
                    pd.dismiss();
                    System.out.println("ARg0...................... "
                            + Integer.parseInt(arg0));

                }

                @Override
                public void failure(RetrofitError arg0) {
                    // TODO Auto-generated method stub

                    System.out
                            .println("Error .............................. "
                                    + arg0);

                }
            });

        }
    });

1 个答案:

答案 0 :(得分:0)

您尝试使用POJO而不是JSONObject

public class LoginObject{
 String pwd;
 String un;    
}

并发送POJO

@POST("/api.php?rquest=login") public void authUser(@Body LoginObject un, Callback cb);