要使用Android调用REST API,可以按照以下步骤进行:
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
import okhttp3.*;
public class ApiClient {
private static final String BASE_URL = "http://api.example.com";
private OkHttpClient client = new OkHttpClient();
public void getUsers(Callback callback) {
String url = BASE_URL + "/users";
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(callback);
}
}
ApiClient
类,并调用相应的方法来发起API调用。以下是一个示例:import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class MainActivity extends AppCompatActivity {
private ApiClient apiClient = new ApiClient();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
apiClient.getUsers(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// 处理请求失败的逻辑
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
// 处理成功响应的逻辑
String responseData = response.body().string();
runOnUiThread(() -> Toast.makeText(MainActivity.this, responseData, Toast.LENGTH_SHORT).show());
} else {
// 处理失败响应的逻辑
runOnUiThread(() -> Toast.makeText(MainActivity.this, "请求失败", Toast.LENGTH_SHORT).show());
}
}
});
}
}
上述示例中,getUsers
方法发起了一个GET请求来获取用户列表。在成功响应的情况下,将响应的数据使用Toast
显示在屏幕上。
请注意,这只是一个简单的示例,实际的API调用可能需要更复杂的逻辑,例如请求参数、请求体、认证等。具体的实现方式可能因你所使用的API而有所不同。