gpt4 book ai didi

android - 如何从 Android 应用程序调用 REST API?

转载 作者:IT王子 更新时间:2023-10-28 23:43:50 31 4
gpt4 key购买 nike

我是 android 新手,也是编程新手。如何从 Android 应用程序调用 REST api(GET/POST 请求)。请给我推荐一个好的教程,或者给我一个开始的想法。

最佳答案

  1. 如果您想集成 Retrofit(此处定义的所有步骤):

转到我的博客:retrofit with kotlin

  1. 请使用 android-async-http 库。

下面的链接逐步解释了一切。

http://loopj.com/android-async-http/

以下是示例应用:

  1. http://www.techrepublic.com/blog/software-engineer/calling-restful-services-from-your-android-app/

  2. http://blog.strikeiron.com/bid/73189/Integrate-a-REST-API-into-Android-Application-in-less-than-15-minutes

创建一个类:

public class HttpUtils {
private static final String BASE_URL = "http://api.twitter.com/1/";

private static AsyncHttpClient client = new AsyncHttpClient();

public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(getAbsoluteUrl(url), params, responseHandler);
}

public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(getAbsoluteUrl(url), params, responseHandler);
}

public static void getByUrl(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.get(url, params, responseHandler);
}

public static void postByUrl(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
client.post(url, params, responseHandler);
}

private static String getAbsoluteUrl(String relativeUrl) {
return BASE_URL + relativeUrl;
}
}

调用方法:

    RequestParams rp = new RequestParams();
rp.add("username", "aaa"); rp.add("password", "aaa@123");

HttpUtils.post(AppConstant.URL_FEED, rp, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
// If the response is JSONObject instead of expected JSONArray
Log.d("asd", "---------------- this is response : " + response);
try {
JSONObject serverResp = new JSONObject(response.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {
// Pull out the first event on the public timeline

}
});

请在您的 list 文件中授予互联网权限。

 <uses-permission android:name="android.permission.INTERNET" />

您可以为 Header[]compile 'org. json:json:20160212' 用于 build.gradle 文件中的 JSONObject(如果需要)。

关于android - 如何从 Android 应用程序调用 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339565/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com