安卓服务端添加图书activityokhttp代码json
时间: 2023-06-18 21:03:06 浏览: 84
okhttp android json 网络请求
3星 · 编辑精心推荐
以下是一个使用 OkHttp 发送 POST 请求并传递 JSON 参数的示例代码:
```java
public class AddBookActivity extends AppCompatActivity {
private EditText etTitle, etAuthor, etIsbn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_book);
// 获取输入框控件
etTitle = findViewById(R.id.etTitle);
etAuthor = findViewById(R.id.etAuthor);
etIsbn = findViewById(R.id.etIsbn);
// 设置“添加”按钮点击事件
Button btnAdd = findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 获取输入框内容
String title = etTitle.getText().toString();
String author = etAuthor.getText().toString();
String isbn = etIsbn.getText().toString();
// 构造请求参数
Map<String, String> params = new HashMap<>();
params.put("title", title);
params.put("author", author);
params.put("isbn", isbn);
// 发送 POST 请求
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), new Gson().toJson(params));
Request request = new Request.Builder()
.url("http://example.com/add_book")
.post(requestBody)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// 处理请求失败情况
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// 处理请求成功情况
}
});
}
});
}
}
```
上述代码中,我们首先获取了输入框的内容,然后构造了一个 `Map` 对象作为请求参数,使用 `Gson` 将其转换成 JSON 格式,最后通过 OkHttp 发送了一个 POST 请求,并在请求回调中处理了请求的成功和失败情况。在实际使用时,你需要将请求 URL 修改为你的服务端接口的 URL,并根据接口的具体要求修改请求参数的内容。
阅读全文