【问题标题】:How can i POST json data in Android我如何在 Android 中发布 json 数据
【发布时间】:2017-10-02 20:52:27
【问题描述】:

在我的应用程序中,我想要 POST 一些数据,这些数据将用户和 POST 发送到服务器。对于服务器请求,我使用 Retrofit2
对于 POST 这个数据我应该用 json 格式发布,例如:

{
  "email": "example@example.com",
  "username": "example",
  "password": "123",
}

POST 数据之后,我应该检查这个 results 提交数据是否正常。

{
  "status": 200,
  "Message": "",
  "data": true
}

我用EditText 向用户提供电子邮件、用户名和密码,但我如何POST 将此数据以Json 格式发送到服务器?

请帮助我,我是业余爱好者,我真的需要帮助

【问题讨论】:

标签: android json retrofit2


【解决方案1】:

这里是 Retrofit 2 的教程:http://www.vogella.com/tutorials/Retrofit/article.html

或者,您可以使用 Volley,它是一个专门设计用于在 Android 上发出 http 请求的库。 https://developer.android.com/training/volley/index.html

【讨论】:

  • 我想使用改造。你能帮帮我吗?
  • 文档很一般,能把我上面的数据代码发给我吗?请我的朋友们,我真的需要这个。请
【解决方案2】:

首先,为您的请求创建一个类,例如 LoginRequest.java

public class LoginRequest {
private String email;
private String username;
private String password;

//getters and setters
}

其次,为您的响应创建一个类,LoginResponse.java

public class LoginResponse {
private Integer status;
private String Message;
private Boolean data;

//getters and setters
}

最后,在你的界面中添加这个方法:

public interface MiApiInterface {
    @POST("yourResourceName") Call<LoginResponse> login(@Body LoginRequest request);
}

希望对你有帮助,如果有更多问题可以问我。

你有没有意识到登录方法的返回是一个调用,它是一个异步调用,你可以在你的活动中这样使用它:

首先,创建一个改造实例

Retrofit retrofit = ....

其次,像这样创建你的接口实例:

MiApiInterface apiInterface = retrofit.create(MiApiInterface.class);

终于可以访问登录方法了:

    LoginRequest request = new LoginRequest();
    request.set();
    ....

    Call<LoginResponse> responseCall = apiInterface.login(request);

    responseCall.enqueue(new Callback<LoginResponse>() {
public void onResponse(...){
LoginResponse loginResponse = response.body();
}

public void onFailure(...){
}
    }

要将对象自动转换为 Json,您应该在改造构建器上添加一个转换器工厂:

Gson gson = new GsonBuilder().create();

Retrofit.Builder()
                .baseUrl(baseUrl)
                .addConverterFactory(GsonConverterFactory.create(gson))
...

别忘了在你的 gradle 上导入 Gson 库。

【讨论】:

  • 谢谢,我创建了这个类。如何在 MainActivity 中发布这些数据?如何在改造的 onResponse 中发布这些数据?
  • 请帮帮我,我的朋友。我真的需要这个。我是业余爱好者:(请
  • 我添加了更多步骤:D
  • 谢谢,我知道如何使用 Retrofit 并创建我的类。但我的问题是如何将我的数据(电子邮件、用户名、密码)转换为 json 并将这个 json 文件发送到服务器?我该怎么办?
  • 哦,导入 gson 并创建我添加的转换器工厂
猜你喜欢
  • 2021-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
  • 1970-01-01
相关资源
最近更新 更多