Retrofit的一个完整示例 - 初学者指南

时间:2015-11-13 10:58:02

标签: java php android retrofit

如果您仔细阅读此问题,您就会知道我使用Retrofit的初学者。的确,我的目标是使用Retrofit上传视频文件,但就目前而言,我只想以最简单的方式开始使用它。现在我想设计一个非常简单的登录机制。在阅读了许多帖子,博客和其他类似的内容后,我们已经知道很多事情,我所知道的就是我在下面提到的内容。
我知道那里有很多教程,但相信我如果我知道如何完全放他们,我就不会问这个问题。不幸的是,Retrofit没有this来帮助您理解其他所有事情。

login.php

<?php
//should this page be placed at /api/login.php ?
$response = array("error" => false);
if ( isset($_POST['username']) && isset($_POST['passwordk']) )
{
    //take the required actions. not important at all in this question
    echo json_encode($response);//(1)Does this provide the responce for my app?
}
else
{
    $response["error"] = true;
    $response["error_msg"] = "User with the provided info not found!";
    echo json_encode($response);
}
?>

ApiService.java

public interface ApiService 
{ 
    @GET("/api/Login")//(2)Is this correct?
    public void getDummieContent(Callback<Something> callback);//(3)What should Something be?

}

RestClient.java

public class RestClient
{
    //What should this do?
}

LoginActivity.java

public class LoginActivity extends Activity
{
    //How to use the other things here to do login?
}

请帮我完成这个简单的任务。我认为对于许多其他想要了解Retrofit的人来说,这将是一个很好的起点。

2 个答案:

答案 0 :(得分:1)

RestClient.java 应该像

public class RestClient{

private final ApiService restApi;

private RestClient() {
        final RestAdapter.Builder builder = new RestAdapter.Builder()
                .setEndpoint(Network.API_ADDRESS)
                .setClient(new OkClient(client));

        restApi = builder.build().create(RestApi.class);
}

public static void login(Callback<Something> callback){
    RestClient client = new RestClient();
    client.getApi().getDummieContent(callback);
}

public ApiService getApi()
{
    return restApi;
}
}

现在在Activity / Fragment或任何你想要的你可以使用它,如下所示 RestClient.login(callback);

我在没有IDE的记事本中写这个,所以这个代码可能包含小错误。希望它会对你有所帮助。

答案 1 :(得分:-1)

我建议您首先将服务器端设置为正常运行。

使用REST client进行测试。

然后,只有这样,只需遵循任何Retrofit教程,例如this one